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

溫馨提示×

溫馨提示×

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

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

怎么解析python二叉樹的中序遍歷

發布時間:2021-12-13 16:10:38 來源:億速云 閱讀:181 作者:柒染 欄目:大數據

今天就跟大家聊聊有關怎么解析python二叉樹的中序遍歷,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

二叉樹的中序遍歷

題目

給定一個二叉樹,返回它的 中序 遍歷。

示例:

輸入: [1,null,2,3]

輸出: [1,3,2]

進階: 遞歸算法很簡單,你可以通過迭代算法完成嗎?

解題思路

棧(Stack)的思路來處理問題。

中序遍歷的順序為左-根-右,具體算法為:

  • 從根節點開始,先將根節點壓入棧

  • 然后再將其所有左子結點壓入棧,取出棧頂節點,保存節點值

  • 再將當前指針移到其右子節點上,若存在右子節點,則在下次循環時又可將其所有左子結點壓入棧中

動畫演示

動畫演示GIF加載有點慢,請稍待片刻加載顯示^_^

怎么解析python二叉樹的中序遍歷

參考代碼

怎么解析python二叉樹的中序遍歷

補充

下面這種寫法使用了一個輔助結點p,這種寫法其實可以看作是一個模版,對應的還有前序和后序的模版寫法,形式很統一,方便于記憶。上篇更新前序的和后面要更新后序文章中都會補充該寫法。思路與代碼如下:

  • 輔助結點p初始化為根結點,while循環的條件是棧不為空或者輔助結點p不為空

  • 在循環中首先判斷如果輔助結點p存在,那么先將p加入棧中,此時p指向其左子結點

  • 否則如果p不存在的話,表明沒有左子結點,我們取出棧頂結點,然后將p的結點值加入結果res中,將p指向棧頂結點的右子結點


怎么解析python二叉樹的中序遍歷

看完上述內容,你們對怎么解析python二叉樹的中序遍歷有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

雷波县| 布尔津县| 称多县| 巴彦县| 贺兰县| 四川省| 锦屏县| 拉萨市| 大庆市| 贡觉县| 朝阳县| 云南省| 仙桃市| 专栏| 张家港市| 通榆县| 广宗县| 纳雍县| 和田市| 乌鲁木齐县| 全州县| 乌兰浩特市| 墨脱县| 凤庆县| 集贤县| 瑞金市| 尖扎县| 昌乐县| 沭阳县| 宜兰县| 宁都县| 太和县| 青龙| 安图县| 普兰店市| 常德市| 南开区| 胶南市| 万山特区| 乐平市| 彝良县|