圖文詳解兩種演算法:深度優先遍歷(DFS)和廣度優先遍歷(BFS)
阿新 • • 發佈:2021-12-24
前言
深度優先遍歷(Depth First Search, 簡稱 DFS) 與廣度優先遍歷(Breath First Search)是圖論中兩種非常重要的演算法,生產上廣泛用於拓撲排序,尋路(走迷宮),搜尋引擎,爬蟲等,也頻繁出現在 leetcode,高頻面試題中。本文將會從以下幾個方面來講述深度優先遍歷,廣度優先遍歷,相信大家看了肯定會有收穫。
- 深度優先遍歷,廣度優先遍歷簡介
- 習題演練
- DFS,BFS 在搜尋引擎中的應用
深度優先遍歷,廣度優先遍歷簡介
深度優先遍歷
主要思路是從圖中一個未訪問的頂點 V 開始,沿著一條路一直走到底,然後從這條路盡頭的節點回退到上一個節點,再從另一條路開始走到底...,不斷遞迴重複此過程,直到所有的頂點都遍歷完成,它的特點是不撞南牆不回頭,先走完一條路,再換一條路繼續走。