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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

二叉树遍历解析

發布時間:2024/8/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二叉树遍历解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 / \ 2 3 / \ / \ 4 5 6 7 當你拿到一棵二叉樹,無論它的形狀如何的千奇百怪 我們都可以將它按照如下的方式劃分根/ \ 左子樹 右子樹 一棵有很多個節點的二叉樹可以劃分為以上的形式 也可以這么理解,只要是按以上形式組合的都可以稱為是二叉樹 一個僅僅只有根節點的二叉樹也可以劃分成以上的形式,只不過他的左右子樹都為空罷了 所以,我們發現,二叉樹的定義其實是一個遞歸定義的過程 大的二叉樹是由小的二叉樹構建而成的 所以,當我們考慮要遍歷一棵二叉樹時 也是首選遞歸的遍歷 遍歷二叉樹 它的基本思想是先按照上面的形式把整棵二叉樹劃分為3部分 哪么接下來的工作就很簡單了 我們只需要將這3部分都遍歷一遍就可以了(這里用到了分而治之的思想) 而對于這3部分來說 根節點的遍歷無疑是最方便的,直接訪問就ok了 而對于左右子樹呢? 我們不難發現,左右子樹其實分別成為了兩棵完整的樹 他們擁有各自獨立的根節點,左子樹和右子樹 對他們的遍歷,很顯然應該與剛才的遍歷方法一致便可 (如果上面的都理解了,那么這個題就是小菜一碟了,如果覺得無法理解,可以按照下面的方法自己多分解幾棵樹) 對于這個題目,中序遍歷這可二叉樹 先看根節點1/ \ 左子樹 右子樹 我們應該先遍歷左子樹 也就是下面這棵樹2/ \ 4 5 對于這棵樹在進行中序遍歷 我們應先遍歷她的左子樹 他只有一個根節點4,左右子樹都為空 哪么遍歷這個只有一個根節點的二叉樹 先訪問她的左子樹,為空 返回 訪問該樹的根節點4 在訪問右子樹也為空 此時,這棵樹已經被完全的遍歷了 我們需要返回上一層也就是2/ \ 4 5 這棵樹 此時,她的左子樹已經被訪問完畢 根據中序遍歷的規則 需要訪問此樹的根節點2 此時的訪問順序是4-2 訪問了根節點 在訪問右子樹只有一個根節點的5(具體過程看4的訪問) 5訪問完畢 也就意味著2/ \ 4 5 這棵樹已經訪問完了 需要返回上一層 也就是1為根的樹 此時這棵樹的左子樹已經訪問完畢 此時訪問的順序是4-2-5應該沒有問題 接下來訪問根節點1 在訪問右子樹3/ \ 4 7 是不是覺得似曾相識??? 她的訪問應該跟2/ \ 4 5 一致 哪么最終遍歷的順序也出來了 4-2-5-1-6-3-7

總結

以上是生活随笔為你收集整理的二叉树遍历解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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