二叉樹(shù)的中序遍歷詳解 為什么先序遍歷和后序遍歷不能確定唯一的二叉樹(shù)?
為什么先序遍歷和后序遍歷不能確定唯一的二叉樹(shù)?本質(zhì)上,前序和后序?qū)⒏腹?jié)點(diǎn)與子節(jié)點(diǎn)分開(kāi),但它們并不表示左子樹(shù)和右子樹(shù)的能力。因此,這兩個(gè)序列只能識(shí)別父子關(guān)系,不能識(shí)別二叉樹(shù)。二叉樹(shù)可以由二叉樹(shù)的中間和前
為什么先序遍歷和后序遍歷不能確定唯一的二叉樹(shù)?
本質(zhì)上,前序和后序?qū)⒏腹?jié)點(diǎn)與子節(jié)點(diǎn)分開(kāi),但它們并不表示左子樹(shù)和右子樹(shù)的能力。因此,這兩個(gè)序列只能識(shí)別父子關(guān)系,不能識(shí)別二叉樹(shù)。二叉樹(shù)可以由二叉樹(shù)的中間和前序遍歷序列唯一地確定,但不能由前序和后序遍歷序列唯一地確定。二叉樹(shù)可以由二叉樹(shù)的中間和后序遍歷序列唯一確定,但不能由前序和后序遍歷序列唯一確定
答案是高度等于節(jié)點(diǎn)數(shù)的二叉樹(shù),前序遍歷順序?yàn)椋簃-l-r,而后序遍歷的順序是:l-r-m,可見(jiàn)只有中間節(jié)點(diǎn)(m)的順序發(fā)生了變化,左右節(jié)點(diǎn)的相對(duì)位置保持不變,由此可以推斷,為了滿足問(wèn)題的意義,“二叉樹(shù)的前序序列與后序序列正好相反”,這意味著整個(gè)二叉樹(shù)的左子樹(shù)或右子樹(shù)之一沒(méi)有(遍歷,第一個(gè):M-L;第二個(gè):L-M或第一個(gè):M-R;最后一個(gè):R-M),也就是說(shuō),它必須是一個(gè)鏈。因此,二叉樹(shù)的高度必須等于節(jié)點(diǎn)數(shù)。
某二叉樹(shù)的先序和后序遍歷序列正好相反,則該二叉樹(shù)一定是什么二叉樹(shù)?
任何二叉樹(shù)的葉節(jié)點(diǎn)在前序、中序和后序遍歷序列中的相對(duì)順序都不會(huì)改變。說(shuō)明如下:根據(jù)三種遍歷順序和特點(diǎn):前序是關(guān)于根的,中序是關(guān)于左根的,后序是關(guān)于左根的。因此,子樹(shù)的根(即分支節(jié)點(diǎn))會(huì)更改相對(duì)子順序。例如:對(duì)于一個(gè)完整的三級(jí)二叉樹(shù),每一層都由一個(gè)自然數(shù)從左到右除以0(第一層,1;第二層,2,3;第三層,4,5,6,7),然后遍歷為1245367。對(duì)于1的根節(jié)點(diǎn),245是左分支,367是右分支;對(duì)于2,4是左分支,5是右分支;對(duì)于3,245是左分支,367是右分支,6在左邊,7在右邊,所以前序遍歷是關(guān)于根的。同樣,中間的順序是左根右根,最后的順序是左根右根。前序、中序和后序都是先左后右。