什么是递归,用Java怎么实现_第2页回答

2021-02-19 10:14发布

19条回答
啦啦啦
2楼 · 2021-02-20 10:23

Java方法递归是指在一个方法的内部调用自身的过程,以此类推就是java方法递归的理解思想,具体来讲就是把规模大的问题转化为规模小的相似的子问题来解决。在函数实现时,因为解决大问题的方法和解决小问题的方法往往是同一个方法,所以就产生了函数调用它自身的情况。另外这个解决问题的函数必须有明显的结束条件,这样就不会产生无限递归的情况了。因此,java方法递归的两个条件就是,一通过递归调用来缩小问题规模,且新问题与原问题有着相同的形式;二存在一种简单情境,可以使递归在简单情境下退出。

三岁奶猫
3楼 · 2021-02-20 10:42

递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象

樱田妮妮NiNi
4楼 · 2021-02-20 10:46

pubilc long fun(long k){

if(k<=0) return 1;//鲁捧性

return k*fun(k-1);

}

解释下,这是阶乘函数,其结果超乎你想的大。

因此使用。

其二,考虑鲁捧性,尽量考虑所有的输入情况。

其三,去掉没必要的条件,进行优化,代码简洁。


aijingda
5楼 · 2021-02-20 11:26

我直接给你一个使用递归打印 9 * 9乘法口诀表的案例代码,可作参考

public class multiplication99 {    @Test    public void test(){        //getByFor(9);        getByRecursion(9);    }    public static void getByFor(int n) {//for 循环实现        for (int i = 1; i <= n; i++) {            for (int j = 1; j <= i; j++) {                System.out.print(i+" * "+j+" = "+i*j+" ");            }            System.out.println();        }    }    public static void getByRecursion(int n) {//递归 实现        if (n == 1) {            System.out.println("1 * 1 = 1 ");        }        else {            getByRecursion(n-1);            for (int j = 1; j <= n; j++) {                System.out.print(n+" * "+j+" = "+n*j+" ");            }            System.out.println();        }    } }

不吃鱼的猫
6楼 · 2021-02-20 11:41

指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象

猫的想法不敢猜
7楼 · 2021-02-21 18:12

1、递归做为一种算法在程序设计语言中广泛使用,是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。

2、递归算法一般用于解决三类问题:

 1数据的定义是按递归定义的。(Fibonacci(斐波那契)的函数)  2问题解法按递归算法实现。(回溯)  3数据的结构形式是按递归定义的。(树的遍历,图的搜索)


可口可乐
8楼 · 2021-02-21 23:29

递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象


哆啦公
9楼 · 2021-02-22 09:01

Java递归算法是基于Java语言实现的递归算法。递归算法是一种直接或者间接调用自身函数或者方法的算法。递归算法实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法表示问题的解。递归往往能给我们带来非常简洁非常直观的代码形式,从而使我们的编码大大简化,然而递归的思维确实跟我们的常规思维相逆的,通常都是从上而下的思维问题,而递归趋势从下往上的进行思维。

相关问题推荐

  • 回答 17
    已采纳

    CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。总体来说,CSS具有以下特点:丰富的样式定义CSS提供了丰富的文档样式外观,以及设置文本和背景属性...

  • 回答 16
    已采纳

    CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型。 盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际内容这几个部分。盒子模型分为两种:第一种是W3c标准的盒子模型(标准盒模型)第二种IE标准的盒子模型(怪...

  • 回答 15

    浮动和定位都可以使元素脱离标准文档流,提升层级,  浮动脱离文档流,提高半个层级,不能完全覆盖下面元素(不能覆盖图片文字)定位脱离标准文档流,提升一个层级,可以完全覆盖下面元素及其内容...

  • 回答 13
    已采纳

    内联样式,如: style= ,权值为1000。ID选择器,如:#content,权值为0100。类,伪类和属性选择器,如.content,权值为0010。类型选择器和伪元素选择器,如div p,权值为0001。通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。继承的样式没有权值。...

  • 回答 9

    css过渡与动画主要区别在于:transition需要触发一个事件才会随着时间改变其CSS属性;animation在不需要触发任何事件的情况下,也可以显式的随时间变化来改变元素CSS属性,达到一种动画的效果。css过渡与动画区别总结:1、动画不需要事件触发,过渡需要。2、...

  • 回答 3

    一段文字在标签的宽度内是不会自动换行的,可以给标签设置小一点的宽度,碰到标签的右边缘就会自动换行了

  • 回答 17

    定位:1、相对定位 position:relative; 兼容2、绝对定位 absolut 兼容3、固zhuan定定位 fixed ie6不兼容

  • 回答 4

    如果一个元素覆盖在另外一个元素之上,而你想显示下面的元素,这时你就需要把上面这个元素的background设置为transparent transparent在 不同 css版

  • 回答 4

    怎样在CSS样式中设置背景的透明度,下面一个具体的实例。把类为box的层设为透明。.box{width:300px;height:200px;margin:0auto;boxder:1pxsolid#ccc;background:#000;filter:alpha(opacity:30);opacity:0.3;-moz-opacity:0.3;-khtml-o...

  • 回答 6

    解决方案You can check if the image's color model includes an alpha channel:BufferedImage img = ImageIO.read(/* from somewhere */);if (img.getColorModel().hasAlpha()) {undefined// img has alpha channel...

  • 回答 5

    找到 eclipse 的安装目录 进入到 plugins 文件夹下,这个文件是管理 eclipse样式相关的文件夹然后我们进入它的子目录 org.eclipse.ui.themes_1.2.1.v20170809-1435 文件夹,去里面找 与 eclipse 相关的样式设置,继续寻找来到 这个界面。 考到css 文件夹,与...

  • 回答 6

    css问题filter: alpha(opacity=100,finishopacity=0,style=2)alpha是来设置透明度的,它的基本属性是filter:alpha(opacity,finishopacity,style,startX,startY,finishX,finishY).opacity代表透明度数,选值0-100,0是完全透明,100是不透明.finishopacit...

  • 回答 4

    设置背景颜色:要设置背景颜色,直接使用background:颜色值;即可。如:body{background:#000}将body的背景颜色设置为黑色。 设置背景图片:1.规律背景图片。不如我们要设置一个渐变的背景图片,这种背景只需要切出1像素宽,高度合适的图片作为背景即可。body...

  • 回答 2

    原因分析: 使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即便重定义也没有用,不过有个方法可以实现,大家可以看看。 可以使用一张透明的图片做背景可以达成效果...

  • 回答 3

    用css 隐藏掉overflow在用div 模拟重画滚动条,用div和z-index配合模拟滚动条

没有解决我的问题,去提问