广搜与深搜的比较
2018-1-23
廣搜,也就是我們所說的BFS,等同于樹一層一層的遍歷過程,我們需要將該節點對應的所有子節點的狀態都加以保存,所以從這個方面來說,它的開銷還是比較大的,但是它特別適用于求解最短路徑的問題,因為我們所能找到的第一個滿足條件的就已經是最優解了(因為我們已經是按照樹的層數進行遍歷的了),而對于深搜而言,我們必須把這一棵樹遍歷結束之后,我們才能求解出我們所要的解,但是它的內存占用相對比較少。
除此之外,深搜主要用棧這種數據結構,而廣搜主要是用隊列這種數據結構。
深搜還分為遞歸與非遞歸這兩種方法,其中遞歸比較適用于遞歸深度不那么深的情況下,否則的話就會發生棧溢出,但是我們也可以使用剪枝來滿足我們的求解。這就對我們要求比較高了。。。
總結
- 上一篇: python 中的 and / or
- 下一篇: 安全 - 堡垒机 - Jumpserve