递归和迭代中重复执行的指令集。 递归是指函数中的语句反复调用自身时。 重复执行循环,直到控制条件变为假。 递归和迭代的主要区别在于递归是一个过程,它始终应用于函数,而迭代应用于重复执行的指令集。
递归使用选择结构。
如果无法减少问题以使递归过程收敛于某个条件(基本情况),则会发生无限递归,无限递归会导致系统崩溃。
认识到基本情况后,递归退出。
由于堆栈维护的开销,递归往往比迭代慢。
递归比迭代使用更多的内存。
递归地减小代码。
示例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