今天学习的算法是搜索(bfs,dfs)此算法主要依据递归的思想,因此我们深刻的学习了解了递归思想。
递归算法(英语:recursionalgorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。简单地说,就是如果在函数中存在着调用函数本身的情况,这种现象就叫递归。
递归的特点:
1.递归就是在过程或者函数里调用自身。
2.在使用递归过程中必须有个明确的递归结束条件,成为递归出口
3.递归算法通常很简洁,但递归算法解题的运行效率较低,一般不提倡这种算法
4.在递归调用的过程中系统为每一层的返回点,局部量等开辟栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
一个递归调用可以导致更多的递归调用,因为这个方法继续吧每个子问题分解成新的子问题,直到达到一个终止条件。当问题大道这个终止条件时候将结果返回给调用者。然后调用者进行计算并将结果返回给自己的调用者。这个过程持续,一级一级进行,直到结果传给原始的调用者为止。
1.递归的定义
递归定义就是对问题分解,将一个问题分解为规模较小的问题并用相同的程序去解决。递归方法实际体现了“以此类推”“用同样的步骤重复”等思想,有点类似数学里的找规律推理出来的递推公式(函数)。
2.递归的终止条件:跳出递推,返回最小问题的解,得出最小问题的解,返回给调用者。
http://www.dxsbao.com/shijian/449574.html 点此复制本页地址