1. 程式人生 > >簡單描述深度優先和廣度優先遍歷,以及區別?

簡單描述深度優先和廣度優先遍歷,以及區別?

深度優先遍歷從某個頂點出發,首先訪問這個頂點,然後找出剛訪問這個結點的第一個未被訪問的鄰結點,然後再以此鄰結點為頂點,繼續找它的下一個新的頂點進行訪問,重複此步驟,直到所有結點都被訪問完為止。

深度優先有什麼用?最大路徑問題

廣度優先遍歷:

廣度優先遍歷從某個頂點出發,首先訪問這個頂點,然後找出這個結點的所有未被訪問的鄰接點,訪問完後再訪問這些結點中第一個鄰接點的所有結點,重複此方法,直到所有結點都被訪問完為止。

廣度優先有什麼用?最短路徑問題

 

 

 

 

區別:

兩種方法最大的區別在於前者(深度)從頂點的第一個鄰接點一直訪問下去再訪問頂點的第二個鄰接點;(廣度)後者從頂點開始訪問該頂點的所有鄰接點再依次向下,一層一層的訪問