树的遍历和图的遍历的异同
生活随笔
收集整理的這篇文章主要介紹了
树的遍历和图的遍历的异同
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、認識的理清
1、 應該認識到“深度優先”和“廣度優先”是算法思想,而遞歸是實現“深度優先”的一種方法(深度優先可以非遞歸實現);
2、 深度優先搜索也叫深度優先遍歷(DFS,Depth_Fisrt_Search);
3、 遍歷的目的是把節點按照一定的規則排成線性序列(存儲的時候線性存儲,但畫圖表現時并非如此),訪問節點時按照此順序訪問。
4、 遍歷是一個過程,這過程中帶有相應的操作,比如判斷、求解問題啥的。
二、圖的遍歷
概念:從圖的某一點出發訪問其余頂點,且使得每一個頂點僅僅被訪問一次,這過程叫圖的遍歷。
1、深度優先遍歷:不到黃河不死心,死心后返回;關鍵在于所有點都被訪問一遍,可能有回退(一般都有)。
2、廣度優先遍歷:之前我以為同層之間的相鄰節點必須有邊,但是這理解是錯誤的,實際上像樹的層次遍歷,只要求把其所有子節點入隊,不要求相鄰子節點之間有邊。
三、樹的遍歷
1、前序、中序、后序遍歷,其實都采用的是DFS思想,DFS思想常用遞歸實現;
2、層次遍歷,采用的是BFS思想,采用隊列這種數據結構實現。
總結
以上是生活随笔為你收集整理的树的遍历和图的遍历的异同的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易云音乐灰色歌曲在线听的方法
- 下一篇: Keras中文官方文档(离线版)