图 之遍历----深度优先遍历0.o
生活随笔
收集整理的這篇文章主要介紹了
图 之遍历----深度优先遍历0.o
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
何為深度優先遍歷0.o呢?DFS是圖論中的經典算法。其利用深度優先搜索算法可以產生目標圖的相應拓撲排序表,利用拓撲排序表可以方便的解決很多相關的圖論問題,如最大路徑問題等等。
基本思想:(一條路走到底然后再一個腳步一個腳步返回~)
以這個圖為例:以a頂點作為起始點,則其深度遍歷為:a,c,h,k,f,e,d
簡單說明一下:首先從a開始,一條路走到底a,c,h,k,f
走到f時發現fd下一個節點h或者a都被訪問過了,所以f返回上一個節點,即k
k的下一個節點e還沒被訪問,所以訪問他,以此類推則可以得到如下:a,c,h,k,f,e,d
了解了DFS的遍歷過程,那如何用程序來實現這個過程呢?
下面將給大家介紹:
首先,先去準備一個堆棧,一個Set(是的,還是用來注冊用的,BFS遍歷的時候也是不能重復的)
下面給上流程圖:
1.首先,先把node節點放進去set和stack堆棧中(有沒有發現一個很有趣的事情,set和stack總是同時add,同時,也打印出來)
2.?遍歷棧頂的next節點,如果set中沒包含這個節點,就把這個節點和前一個節點一起添加到stack中去,
?同時把該節點也添加到set中,同時打印,最后break。當set中已經包含了該節點的時候,就不執行下面了。
(大家對照著程序一起看,相信是可以看懂滴,加油0。0)
(看得懂覺得不錯的幫忙點個贊呀~)
總結
以上是生活随笔為你收集整理的图 之遍历----深度优先遍历0.o的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot————单元测试
- 下一篇: 兰州交通大学计算机科学与技术排名,兰州交