面試題24二叉搜尋樹的後序遍歷序列cpp

2021-07-04 19:58:38 字數 630 閱讀 5763

思路:二叉搜尋樹的性質滿足根節點大於左子樹的的節點,小於右子樹的節點。後序遍歷序列最後乙個元素即為根節點,根據左子樹的的值小於根結節點,遍歷序列得出左子樹的長度,和右子樹的長度,同時檢查右子樹是否滿足都大於根結節點這一性質,再遞迴。有點類似二叉樹的建立

函式介面:

bool ispostorder(int *sequence,int length);

#include#include#include#include#includeusing namespace std;

//面試題24 二叉搜尋樹的後序遍歷序列 思路:二叉搜尋樹的性質滿足根節點大於左子樹的的節點,小於右子樹的節點。後序遍歷序列最後乙個元素即為根節點,根據左子樹的的值小於根結節點,遍歷序列得出左子樹的長度,和右子樹的長度,同時檢查右子樹是否滿足都大於根結節點這一性質,再遞迴。有點類似二叉樹的建立

bool ispostorder(int *sequence ,int length)

{ if(sequence!=null&&length>0)

{ int rootvalue=sequence[length-1];

int leftlength,rightlength;

int i=0;

while(i

面試題24二叉搜尋樹的後序遍歷序列

面試題24 二叉搜尋樹的後序遍歷序列 1.輸入乙個整數的陣列,判斷該陣列是不是某棵二叉搜尋樹的後序遍歷序列。假設輸入的陣列的任意兩個數字互不相同。分析 例如輸入陣列,則返回true,因為這個序列可以找到這樣的一棵二叉搜尋樹滿足條件,而對於序列則找不到這樣的二叉搜尋樹。二叉搜尋樹的性質是,左子樹的節點...

面試題24 二叉搜尋樹的後序遍歷序列

題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷.示例 includeusing namespace std bool verifysquenceofbst int sequence,int length 在二叉搜尋樹中右子樹的結點大於根結點 int j i for j length ...

面試題24 二叉搜尋樹的後序遍歷序列

題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。假設輸入的陣列的任意兩個數字都互不相同。1 bool ispostorder vector num,int left,int right 211 判斷右子樹中的所有元素是否都大於根元素 12for int j i j right ...