本文实例讲述了C++基于递归算法解决汉诺塔问题与树的遍历功能。分享给大家供大家参考,具体如下:
递归是把问题转化为规模缩小的同类问题,然后迭代调用函数(或过程)求得问题的解。递归函数就是直接或间接调用自身的函数。
递归两要素:递归关系和递归边界(终止条件),递归关系确定了迭代的层次结构,需要深入了解并分解问题;终止条件保证了程序的有穷性。
递归的应用有很多,常见的包括:阶乘运算、斐波那契数列、汉诺塔、数的遍历,还有大名鼎鼎的快排等等。理论上,递归问题都可以由多层循环来实现。递归的每次调用都会消耗