breadth first search(廣度優先搜尋),將相鄰的節點一層層查詢,找到最多的
以上圖為例,首先確定乙個根節點,然後依次在剩下的節點中找已找出的節點的相鄰節點,特別注意順序為依次尋找
(1)a為根節點,結果為abcdef或acbedf
(2)b為根節點,結果為bacdef或bdacfe或......
(3)d為根節點,結果為dbefac或......
(4)f為根節點,結果為fdbeac或......
deep first search(深度優先搜尋),一直往下尋找,若沒有剩餘相鄰節點時,回走一步,再查詢剩餘的下乙個相鄰節點,直到回到起始點
以上圖為例,舉例說明:a為根節點,a --> b --> d --> e --> c --> 發現c沒有相鄰的未使用點,回退 --> e(e還是沒有),繼續回退 --> d --> f --> 發現f沒有相鄰的未使用點了,繼續回退 --> d,繼續回退 --> b,繼續回退 --> a,到根節點了,結束。則結果為abdecf
queue
stack
未完待續......
未完待續......
學習筆記 DFS與BFS
這是oi競賽中兩個基礎演算法,在此做乙個簡略的總結 全名深度優先搜尋,顧名思義,是深度優先,一條路走到黑的做法 樹 圖論相關的問題中常用到dfs dfsdf s遍歷處理資訊 演算法用處 全名寬度優先搜尋 一般的套路是設定狀態,既然是寬度優先,那麼同乙個狀態越早到達越優 所以時空複雜度都是狀態總數,常...
BFS與DFS學習筆記
維基 廣度優先搜尋演算法 英語 breadth first search,縮寫為bfs 又譯作寬度優先搜尋,或橫向優先搜尋,是一種圖形搜尋演算法。簡單的說,bfs是從根節點開始,沿著樹的寬度遍歷樹的節點。如果所有節點均被訪問,則演算法中止。深度優先搜尋演算法 英語 depth first searc...
DFS和BFS學習總結
深度遍歷就是在圖中從乙個頂點開始,按照乙個規則不重複地走下去。就是不撞南牆不回頭一樣。假如從a頂點開始,按照乙個規則去走 假如我們按照一直字典順序走 那麼就從a走到b再從b走到了c,走到c後再按照字典順序的時候,發現a已經走過,那麼此時就退回到c點,選擇另乙個d走下去。就和樹的前序遍歷是一樣的。1 ...