操做(樹的遍歷通常指的是二叉樹遍歷)spa
常常考的,樹的遍歷和已知兩種遍歷求原始二叉樹.net
遍歷blog
先序遍歷 【先訪問根節點】ci
先訪問跟節點get
再先序訪問左子樹博客
在先序訪問右子樹it
中序遍歷 【中間訪問根節點】二叉樹
中序遍歷左子樹遍歷
在訪問根節點im
在中序遍歷右子樹
後序遍歷 【最後訪問根節點】
中序遍歷左子樹
中序遍歷右子樹
在訪問根節點
已知兩種遍歷求原始二叉樹
知道其中任何一種序列,都不能把原始的二叉樹給還原出來
先序和中序、中序和後續,咱們能夠還原出原始二叉樹。
可是,經過先序和後續 是沒法還原出原始的二叉樹
換種說法:
只有經過先序和中序、中序和後序才能惟一的肯定一個二叉樹。
已知先序和中序,求後序:
使用先序和中序,把原始的二叉樹求出來,才能知道後序
例子1:
先序:ABCDEFGH
中序:BDCEAFHG
求後續
先還原二叉樹:
後序爲: DECBHGFA
一樣的
已知中序和後序,求先序
中序:BDCEAFHG
後序:DECBHGFA
還原二叉樹:
仍是上圖所示。
學PHP的小螞蟻 博客 http://my.oschina.net/woshixiaomayi/blog