【Day14】[資料結構]-二元樹走訪Binary Tree Traversal
文章推薦指數: 80 %
二元樹走訪或稱二元樹遍歷,簡單來說就是走訪樹中各節點,轉化為線性關係。
主要分成兩種策略方式深度優先搜尋(Depth-first Search,DFS) 從根節點 ...
2021iThome鐵人賽
DAY
14
0
SoftwareDevelopment
資料結構與演算法,使用JavaScript與Python系列第
14篇
【Day14】[資料結構]-二元樹走訪BinaryTreeTraversal
13th鐵人賽
datastructure
資料結構
二元樹走訪
binarytree
Frank
2021-09-2502:43:46424瀏覽
二元樹走訪或稱二元樹遍歷,簡單來說就是走訪樹中各節點,轉化為線性關係。
主要分成兩種策略方式
深度優先搜尋(Depth-firstSearch,DFS)
從根節點出發,選擇某一子樹並以垂直方向由上到下處理,將其子節點訪問完後,再選擇另一子樹走訪。
廣度優先搜尋(Breath-firstSearch,BFS)
從根節點出發,以水平方向由左到右走訪,將同階層的兄弟節點訪問完之後,再走訪下一階層的節點。
深度優先搜尋DFS
假設根結點為N、左子樹為L、右子樹為R
前序走訪(Pre-orderTraversal):NLR,根節點→左子樹→右子樹
中序走訪(In-orderTraversal):LNR,左子樹→根節點→右子樹
後序走訪(Post-orderTraversal):LRN,左子樹→右子樹→根節點
廣度優先搜尋BFS
層序走訪(Level-orderTraversal):1234567
以下圖為例
前序走訪:順序是根節點、左子節點、右子節點。
[1,2,4,8,9,5,3,6,10,11,7]
中序走訪:順序是左子節點、根節點、右子節點。
[8,4,9,2,5,1,10,6,11,3,7]
後序走訪歷:順序是左子節點、右子節點、根節點。
[8,9,4,5,2,10,11,6,7,3,1]
層序走訪:順序是由根節點一層一層往下,由左往右。
[1,2,3,4,5,6,7,8,9,10,11]
留言
追蹤
檢舉
上一篇
【Day13】[資料結構]-二元樹BinaryTree
下一篇
【Day15】[資料結構]-二元搜尋樹BinarySearchTree,BST
系列文
資料結構與演算法,使用JavaScript與Python
共35篇
目錄
RSS系列文
訂閱系列文
19人訂閱
31
【Day31】[演算法]-二分搜尋法BinarySearch
32
【Day32】[演算法]-內插搜尋法InterpolationSearch
33
【Day33】[演算法]-深度優先搜尋DFS與廣度優先搜尋BFS
34
【Day34】[演算法]-費波那契數列FibonacciSequence
35
【Day35】[演算法]-常見的演算法策略AlgorithmicPatterns
完整目錄
尚未有邦友留言
立即登入留言
iT邦幫忙鐵人賽
參賽組數
1087組
團體組數
52組
累計文章數
20485篇
完賽人數
572人
鐵人賽最新文章
資料驗證(golang)(Day23)
.NetCoreWebApi_筆記22_Swagger自訂文件並讀取API註解描述
[Day??]2021iThome鐵人賽-頒獎典禮@2022.01.08‧輔仁大學
[Day33]HexoxNexT-顯示最新文章、導入GoogleAnalytics的坑
【Day31】新加坡工作後續的時程
重構原本的內容(golang)(Day22)
Laravel-jQueryAJAX範例
2022/1/2更新
.NetCoreWebApi_筆記21_Swagger及OpenAPI介紹與配置使用方式_API管理與測試探討
.NetCoreWebApi_筆記20_api結合ADO.NET資料庫操作part8_新聞文章查詢
前往鐵人賽
技術推廣專區
[Day2]抓取每日收盤價
[Day1]基本工具安裝
利用python取得永豐銀行API的Nonce
[Day03]tinyML開發板介紹
永豐金融API測試員
[Day01]在享受tinyML這道美食之前
[Day3]使用ta-lib製作指標
[Day4]函數打包與買進持有報酬率試算
計算API所需要的參數:HashID
計算API所需要的參數:IV
前往鐵人賽
熱門問題
中華電信企業資安攻擊名稱HTTP-APACHE-LOG4j2-BODY6-RCE
40人小公司用的郵件伺服器
急救!將ImageView傳到另一個頁面
關於團隊合作
正航ERP相關問題
資安宣導文案
請問有哪位好心人能借一下百度帳號...
請教SQL大師,如何在GROUPBY分群裡找出組別最多筆數量的組別名稱
[已解決]急!!!csv匯入MySQLWorkbench出現錯誤訊息請問如何解決
C#如何將資料庫的每個字元從原本的(ascii編碼)逐一轉成(utf8編碼)
IT邦幫忙
站方公告
【2021iThome鐵人賽】登登登!究竟獎落誰家,2021iThome鐵人賽得獎名單正式揭曉
熱門tag
看更多
13th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
windows
php
python
windowsserver
linux
c#
程式設計
資訊安全
css
vue.js
sql
分享
熱門回答
40人小公司用的郵件伺服器
關於團隊合作
資安宣導文案
SVN版本控制的選擇
python檔案計算問題
[已解決]急!!!csv匯入MySQLWorkbench出現錯誤訊息請問如何解決
C#如何將資料庫的每個字元從原本的(ascii編碼)逐一轉成(utf8編碼)
正航ERP相關問題
為什麼Visualstudio查詢資料庫資料會顯示
中華電信企業資安攻擊名稱HTTP-APACHE-LOG4j2-BODY6-RCE
熱門文章
【Day31】新加坡工作後續的時程
2021法遵科技與電腦稽核專題競賽-賀雲科大、逢甲、北商大、中正、致理科大、亞洲科大等學校隊伍獲獎,培育智慧法遵與AI稽核人才邁向國際~
Laravel-jQueryAJAX範例
[Day33]HexoxNexT-顯示最新文章、導入GoogleAnalytics的坑
【徵才】台北中山區-知名航空貨運-資訊網管人員
重構原本的內容(golang)(Day22)
科學家與研究生的關係研究篇
30天Python自學:Day01
[Day??]2021iThome鐵人賽-頒獎典禮@2022.01.08‧輔仁大學
印表機維修五種常見故障,若遇到問題就能先自己排除了
一週點數排行
更多點數排行
海綿寶寶(antijava)
Gary(mosbbs)
raytracy(raytracy)
一級屠豬士(hitomitanaka)
Samuel(kuanyu)
ccenjor(ccenjor)
居然解出來了(partyyaya)
horace_work(horace_work)
純真的人(jer5173)
souda(souda)
×
At
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{result.label}}
{{result.account}}
關閉
延伸文章資訊
- 1【Day14】[資料結構]-二元樹走訪Binary Tree Traversal
二元樹走訪或稱二元樹遍歷,簡單來說就是走訪樹中各節點,轉化為線性關係。 主要分成兩種策略方式深度優先搜尋(Depth-first Search,DFS) 從根節點 ...
- 2Tree - 演算法筆記
樹根位於直徑的中央,能讓樹的高度最小。 演算法請自行參考程式碼,時間複雜度是兩次DFS 的時間。 bool adj[9][9]; // adjacency matrix; int p[9]; /...
- 3[BinaryTree] 廣度搜尋BFS vs 深度搜尋DFS. 前言 - Medium
- 4圖的深度優先搜尋演算法並生成DFS樹- IT閱讀
bfs (s)返回後,所有訪問過的頂點通過parent指標依次聯接,從整體上給出了頂點s 所屬連通或可達分量的一棵遍歷樹,稱作深度優先搜尋樹或DFS 樹(DFS tree ...
- 5图的深度优先搜索算法并生成DFS树 - CSDN博客
前面一篇文章介绍了图的广度优先搜索算法和BFS树,这篇文件笔者将介绍另一种图的遍历算法-深度优先算法概述深度优先搜索(Depth-First Search,DFS) ...