二叉樹練習題及解析

2021-10-07 04:29:45 字數 1320 閱讀 6148

1、某二叉樹的前序序列和後序序列正好相反,則該二叉樹一定是( )的二叉樹。

答:高度等於其節點數

解析:前序遍歷順序是『m-l-r』,後序遍歷的順序是『l-r-m』,其中l-r的相對位置不發生變化,變化的是m的位置。題目指出二叉樹的先序序列和後序序列結果正好相反:

當二叉樹只有乙個節點時,只有m,l和r為空,滿足條件

當二叉樹為空時,m、l和r均為空,滿足條件

當二叉樹任一節點無左孩子時,l為空,前序遍歷為m-r,後序遍歷為r-m,結果正好相反,滿足條件

當二叉樹任一節點無右孩子時,r為空,前序遍歷的結果為m-l,後序遍歷的結果為l-m,滿足條件

上述分析的四種條件都滿足二叉樹的高度等於其節點數

2、乙個二叉樹的先序遍歷結果和中序遍歷結果相同,則其所有非葉子節點必須滿足的條件是?

解析:此題解析與上題類似,答案為只有右子樹

3、下圖為乙個二叉樹,請選出以下不是遍歷二叉樹產生的順序序列的選項

答:b d

解析:先序遍歷結果為(根->左->右):abcdefigjh

中序遍歷結果為(左->右->根):bdcaifjghe

後序遍歷結果為(左->右->根):dcbijhgfea

4、一顆二叉樹的前序遍歷是abcdfghe,後序遍歷是bghfdeca,中序遍歷是?

解析:由前序(根左右)第乙個字母和後序(左右根)最後乙個字母可知根節點為a;

中序(左根右),後序(左右根),後序是以b開頭的,所以中序應該以b開頭;中序(左根右),前序(根左右),前序是以e結尾的,所以中序應該以e結尾,所以選c,b和e之間的順序不唯一。

已知前序遍歷和後序遍歷無法唯一確定一棵二叉樹。根據前序遍歷和後序遍歷可以確定兩棵樹:

練習題之重建二叉樹

題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。實現 definition for binary tree public class treenode 遞迴實現 public...

資料結構 二叉樹練習題

求二叉樹的高度 只能彙總思想 int getheight node root int left getheight root.left int right getheight root.right return math.max left,right 1 求二叉樹第k層結點的個數 彙總 1.利用遞迴...

LeetCode練習題 建立最小高度二叉樹

給定乙個有序整數陣列,元素各不相同且按公升序排列,編寫乙個演算法,建立一棵高度最小的二叉搜尋樹。給定有序陣列 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜尋樹 0 3 9 10 5 definition for a binary tree ...