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

溫馨提示×

溫馨提示×

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

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

c語言二叉樹的前序遍歷方法

發布時間:2022-03-21 16:12:56 來源:億速云 閱讀:239 作者:iii 欄目:大數據

這篇文章主要講解了“c語言二叉樹的前序遍歷方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“c語言二叉樹的前序遍歷方法”吧!

題目

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

示例:

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

輸出: [1,2,3]

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

解題思路

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

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

  • 把根節點push到棧中

  • 循環檢測棧是否為空,若不空,則取出棧頂元素,保存其值

  • 看其右子節點是否存在,若存在則push到棧中

  • 看其左子節點,若存在,則push到棧中。

動畫演示

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

c語言二叉樹的前序遍歷方法

參考代碼

c語言二叉樹的前序遍歷方法

補充

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

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

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

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

c語言二叉樹的前序遍歷方法

感謝各位的閱讀,以上就是“c語言二叉樹的前序遍歷方法”的內容了,經過本文的學習后,相信大家對c語言二叉樹的前序遍歷方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

阳朔县| 榕江县| 宁安市| 武邑县| 宁陵县| 临城县| 肥东县| 郯城县| 清水河县| 南安市| 建昌县| 仁怀市| 江山市| 江口县| 洛隆县| 鄄城县| 绩溪县| 司法| 长寿区| 潞城市| 阳朔县| 石楼县| 陕西省| 措美县| 庆阳市| 山阴县| 于都县| 壶关县| 甘孜县| 宝坻区| 黔东| 信宜市| 鹤峰县| 庆安县| 子洲县| 广宁县| 新化县| 陵川县| 纳雍县| 华池县| 商城县|