日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图 之遍历----深度优先遍历0.o

發布時間:2025/3/12 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图 之遍历----深度优先遍历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的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。