二叉树遍历的非递归方法
生活随笔
收集整理的這篇文章主要介紹了
二叉树遍历的非递归方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
https://blog.csdn.net/qiuxinfa123/article/details/84880786
2.先序遍歷。非遞歸先序遍歷的思路如下:
1.先將根節(jié)點(diǎn)入棧
2.訪問(wèn)根節(jié)點(diǎn)
3.如果根節(jié)點(diǎn)存在右孩子,則將右孩子入棧
4.如果根節(jié)點(diǎn)存在左孩子,則將左孩子入棧(注意:一定是右孩子先入棧,然后左孩子入棧)
5.重復(fù)2-4
3.中序遍歷。 非遞歸中序遍歷的思路如下:
1.先將根節(jié)點(diǎn)入棧
2.將當(dāng)前節(jié)點(diǎn)的所有左孩子入棧,直到左孩子為空
3.訪問(wèn)棧頂元素,如果棧頂元素存在右孩子,則繼續(xù)第2步
4.重復(fù)第2、3步,直到棧為空并且所有的節(jié)點(diǎn)都被訪問(wèn)
4.后序遍歷。 后續(xù)遍歷的非遞歸實(shí)現(xiàn)思路:
1.根節(jié)點(diǎn)入棧
2.將根節(jié)點(diǎn)的左子樹入棧,直到最左,沒(méi)有左孩子為止
3.得到棧頂元素的值,先不訪問(wèn),判斷棧頂元素是否存在右孩子,如果存在并且沒(méi)有被訪問(wèn),則將右孩子入棧,否則,就訪問(wèn)棧頂元素
總結(jié)
以上是生活随笔為你收集整理的二叉树遍历的非递归方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 交行信用卡买单吧app下载 交行买单吧a
- 下一篇: 音视频相关链接