鄰接表的深度優(yōu)先遍歷算法 畫出如下圖的鄰接表,并分別給出從結(jié)點1開始進(jìn)行深度優(yōu)先和廣度優(yōu)先遍歷的結(jié)果?
畫出如下圖的鄰接表,并分別給出從結(jié)點1開始進(jìn)行深度優(yōu)先和廣度優(yōu)先遍歷的結(jié)果?鄰接表如下圖所示:深度優(yōu)先遍歷過程如下:0->1->4->8->5(回溯8),8->6->2->
畫出如下圖的鄰接表,并分別給出從結(jié)點1開始進(jìn)行深度優(yōu)先和廣度優(yōu)先遍歷的結(jié)果?
鄰接表如下圖所示:深度優(yōu)先遍歷過程如下:0->
1->4->8->5(回溯8),8->6->
2->7(回溯0),0->3寬度優(yōu)先遍歷過程如下:0->1->2->3,1->4->5,2->6->7,4->8。上面的數(shù)字是索引,您給出的圖中的節(jié)點號加上1。
采用鄰接表存儲的圖的深度優(yōu)先遍歷算法類似于二叉樹的先序遍歷,為什么是先序呢?
這是因為圖的深度優(yōu)先遍歷算法首先訪問節(jié)點,然后訪問其相鄰點。它類似于二叉樹的順序遍歷,首先訪問子樹的根節(jié)點,然后訪問子樹的子節(jié)點(鄰接點)。圖的廣度優(yōu)先遍歷算法類似于二叉樹的層次遍歷。
用鄰接表表示圖進(jìn)行深度優(yōu)先遍歷時,通常采用()來實現(xiàn)算法?
堆棧用于實現(xiàn)算法。在用鄰接表表示深度優(yōu)先遍歷的圖形時,通常采用堆棧實現(xiàn),用隊列實現(xiàn)寬度遍歷。擴展材質(zhì):深度優(yōu)先遍歷:類似于樹的前序遍歷。從圖中的一個頂點v開始,訪問該頂點,然后從v的不可訪問鄰接點開始遍歷,直到訪問圖中與v相連的所有頂點。注意:優(yōu)先訪問外部節(jié)點。當(dāng)沒有新的頂點時,它將返回以訪問不可訪問的分支頂點。寬度優(yōu)先遍歷:類似于樹序列遍歷。從圖中的頂點w開始,讓頂點w加入隊列,然后讓頂點w離開隊列,讓與頂點w連接的所有頂點加入隊列,然后讓頂點t加入隊列,讓與t連接但未訪問的所有頂點加入隊列此循環(huán)指定圖中的所有元素都不在隊列中。數(shù)據(jù)結(jié)構(gòu)中的圖遍歷算法研究