主要是方便輸出。在終端輸出一般都是從左至右,從上到下,對于樹形結構來說,前者自然表達的是從根節點到葉子節點無限層次樹形筆記本,后者自然表達的是相鄰分支,深度優先遍歷符合輸出次序。
無限層次樹形筆記本實際上廣度優先遍歷實現起來更簡單,只要在每一層左端建立一個鏈表頭,將同一層的節點橫向串聯起來,從上到下遍歷鏈表頭數組就可以了。但考慮以下幾點:
我們的屏幕沒有這么寬無限層次樹形筆記本,足以容納整棵樹,而且我們更趨向于縱向滾動瀏覽; 層次關系很難表示無限層次樹形筆記本,光實現對齊就很麻煩; 每個節點需要維護一個額外next指針,如果這不是數據結構本身所需要的成員,對于存儲空間來說是個額外的負擔。
這也說明深度優先遍歷第二個優點無限層次樹形筆記本,它的實現對于數據結構本身是非侵入式的。
下一篇:跟騰訊工程師一起玩轉 MySQL
如果您覺得 為什么用深度優先遍歷 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.meyanliao.com/article/other/wsmysdyxbl.html
文章地址:http://www.meyanliao.com/article/other/wsmysdyxbl.html