标签:算法 递归 循环 比较
算法分析:
循环算法和递归算法 无论时间效率还是空间效率都是前者高。递归算法在运行时,函数调用保存现场、开辟运行资源、返回回收资源都需要耗时。递归算法的参数表面是一个变量,实际上市一个栈。
结论1:
递归确实是一些复杂的问题处理起来简单明了,但是,就效率而言,递归算法的实现往往比循环算法耗费更多的时间和存储空间,也限制了递归的深度。所以,在具体的实现中,应尽可能把递归算法转换为等价的循环算法,以提高算法的时空效率。
相应问题,如给一个整数,从低位到高位输出各位的数字。
结论2:
由于递归算法的实现包括递归和回溯两步,当问题需要“后进先出”的操作时,还是用递归更有效。如数据结构中树的遍历,图的深度优先搜索等。
相应问题,如给一个整数,从高位到低位输出各位的数字。
标签:算法 递归 循环 比较
原文地址:http://blog.csdn.net/gaowei199120/article/details/28593461