中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python二叉樹的四種遍歷分別是什么

發布時間:2021-12-13 15:56:47 來源:億速云 閱讀:168 作者:柒染 欄目:大數據

python二叉樹的四種遍歷分別是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

數據結構是怎么遍歷的呢,二叉樹的遍歷都是從根節點出發,按照某種次序進行整棵樹的遍歷,根據次序區分為四種方式,分別是前序,中序,后序,層序。關于這幾種排序有個流傳很久的口訣:

          前序遍歷:根結點 ---> 左子樹 ---> 右子樹

          中序遍歷:左子樹---> 根結點 ---> 右子樹

          后序遍歷:左子樹 ---> 右子樹 ---> 根結點

          層次遍歷:僅僅需按層次遍歷就可以

    下面,我們就來講解一下這些口訣:

     我們先畫一顆簡單的二叉樹

python二叉樹的四種遍歷分別是什么

    以上述二叉樹進行講解:

前序

      前序遍歷口訣是:根結點 ---> 左子樹 ---> 右子樹。意思是先遍歷根節點A,然后是左子樹B,但是B也有左子樹,此時把B再當成根,下一步應該是根B的左子樹C-右子樹D。由于C節點跟D節點自身就是葉子節點,他們沒有子節點,此時,根節點A的整個左子樹B全部子孫節點已經遍歷完畢,接下來,我們再來遍歷根節點A的右子樹E,再將E當成根節點,根E沒有左節點,只有右節點F,此時,整棵樹遍歷完畢,最后的遍歷順序為A-B-C-D-E-F。


中序

     中序遍歷口訣是:左子樹---> 根結點 ---> 右子樹。中序的邏輯有些奇怪,他是從整棵樹的最左葉子節點開始,也就是上圖的C節點,找到C節點的根節點,也就是B節點,然后再找到B節點的右節點D節點,此時根節點A的整顆左子樹已經遍歷完畢,根據上述口訣,再遍歷根節點A,根節點A有一顆右子樹節點E,此時,如果E有左子樹應該先遍歷E的左子樹,從E的最左葉子節點開始,但是E此時沒有左子樹,那么我們接下來應該遍歷根節點E,E下面有一個右葉子節點F,最后遍歷F,至此,整個數據結構遍歷完成,遍歷順序為C-B-D-A-E-F。


后序

   


 后序遍歷口訣是:

左子樹 ---> 右子樹 ---> 根結點。

意思就是最后 遍歷根節點A,其實根據上面中序的遍歷方式,我們應該就已經可以得出結論了,先從最左葉子節點C開始,左葉子節點C-C的根節點B-B的右節點D,下一步我們來進行整棵樹右子樹遍歷,從左葉子節點開始,沒有左葉子節點,那么就是右葉子節點F,F的根節點是E,最后遍歷整棵樹的根節點A,遍歷順序為C-B-D-F-E-A。



層序

       層序遍歷,顧名思義,也就是一層層遍歷,根據從左至右,從上至下的順序進行。遍歷順序為A-B-E-C-D-F。

關于python二叉樹的四種遍歷分別是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永顺县| 沈丘县| 南充市| 双牌县| 曲水县| 巧家县| 镶黄旗| 称多县| 珠海市| 开化县| 张家川| 礼泉县| 都昌县| 稻城县| 嘉定区| 革吉县| 塔城市| 阳谷县| 开远市| 白河县| 富蕴县| 林芝县| 鹿泉市| 萝北县| 白山市| 托克托县| 乌海市| 建瓯市| 鹿邑县| 炎陵县| 博爱县| 海安县| 垫江县| 奉新县| 景东| 淮阳县| 乌苏市| 三门峡市| 黄浦区| 西昌市| 朔州市|