首页 > 编程知识 正文

迭代和递归是两种,迭代和递归算法各有什么特点

时间:2023-05-06 04:08:44 阅读:14753 作者:943

递归和迭代中重复执行的指令集。 递归是指函数中的语句反复调用自身时。 重复执行循环,直到控制条件变为假。 递归和迭代的主要区别在于递归是一个过程,它始终应用于函数,而迭代应用于重复执行的指令集。

递归使用选择结构。

如果无法减少问题以使递归过程收敛于某个条件(基本情况),则会发生无限递归,无限递归会导致系统崩溃。

认识到基本情况后,递归退出。

由于堆栈维护的开销,递归往往比迭代慢。

递归比迭代使用更多的内存。

递归地减小代码。

示例publicclassRecursionExample{

publicstaticvoidmain (string args [ ] ) {

recursionexamplere=newrecursionexample;

intresult=re.factorial(4;

system.out.println(result: ) result;

}

公共基础设施(intn ) {

if(n==0) {

返回1;

}

else{

返回*基础(n-1 );

}

}

}

输出结果Result:24

反复使用重复结构。

如果循环条件测试不会为假,并且在无限循环中重用CPU循环,则迭代将为无限循环。

如果循环条件失败,迭代将结束。

迭代比递归快,因为它不使用堆栈。

重复消耗内存少。

迭代会导致代码变长。

示例publicclassIterationExample{

publicstaticvoidmain (string args [ ] ) {

for(inti=1; i=5; I ) {

system.out.println(I ' );

}

}

}

输出结果1

2

3

4

5

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。