不得不說,國家計算機二級選擇題題目中,序列問題是一個高頻考點,而且對於這類題目,只有掌握其中的法則,才能舉一反三,對於這大類的題目融會貫通。
每個人看待題目都有自己的一套小訣竅,接下來就給大家介紹一下我對於這類題目的小總結。
①首先要掌握三個序列字母排序的規律:
前序序列:根左右
中序序列:左根右
後序序列:左右根
②接著看題目,題中一般會給出兩個序列,然後讓我們根據給出的兩個序列求出剩下那個序列,這時把兩個序列寫在草紙上,根據①中的排序規律確定根節點,將其用矩形框出,然後再確定根節點的左右子樹,以此類推,邊做邊畫二叉樹表示,解題思路會更加清晰。
下面結合例題看一下這類問題:
1、某二叉樹的中序遍歷序列為CBADE,後序遍歷序列為CBEDA,則前序遍歷序列為_____。
解析:由後序遍歷序列知A是根節點,由中序遍歷序列知CB是左子樹,DE是右子樹。由後序遍歷序列可知B和D分別為左右子樹中的根節點,由中序遍歷序列可知C是B的左子結點,E是D的右子結點,畫出圖形二叉樹後,即可得前序序列為ABCDE。
2、某二叉樹的後序遍歷序列與中序遍歷序列相同,均為ABCDEF,則按層次輸出(同一層從左到右)的序列為________。
解析:與第1題相同,根據後序遍歷序列和中序遍歷序列可畫出二叉樹圖形,然後根據圖形按從上到下,從左到右的順序寫出輸出的序列即為FEDCBA。
3、某完全二叉樹按層次輸出(同一層從左到右)的序列為ABCDEFGH,該完全二叉樹的前序序列為________。
解析:如下圖為完全二叉樹,根據前序序列排序規律為根左右,可得到前序序列為ABDHECFG。
4、排序二叉樹中,左子樹上的值均小於其根節點,右子樹上的值均大於其根節點,所以其中序序列一定為_______。
解析:因為中序序列排列規律為:左根右,因為題中說:右子樹上的值>根節點>左子樹上的值,所以可知中序序列一定為有序序列。
5、在具有n個結點的二叉樹中,如各結點值互不相同,但前序序列與中序序列相同,則該二叉樹的深度為________。
解析:前、中遍歷序列相同說明該樹除葉子結點,每個結點都只有右子結點,所以該二叉樹深度為n。