BST的後序遍歷序列

2021-10-01 21:34:46 字數 415 閱讀 2114

boolpp(

const vector<

int> vi,

int start,

int end)

bool

verifysquenceofbst

(vector<

int> sequence)

思路:後序遍歷的最後乙個元素一定是樹根。除樹根外,前面的元素可以分為兩部分,左子樹的值和右子樹的值。左子樹的值都小於根,右子樹的值都大於根。如果在遞迴過程中發現右子樹的值小於根,那麼false。

bool

verifysquenceofbst

(vector<

int> sequence)

return1;

}

判斷陣列是否是BST的後序遍歷結果

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。受之前根據前序後序遍歷的題目影響,知道用序號標記來判斷左子樹,右子樹的陣列。這裡在遞迴方法裡面 for迴圈外定義乙個i 這樣可以在兩個for迴圈都使用同乙個i。可...

BST樹的查詢 前 中 後序遍歷的實現

bst樹中查詢操作的實現 public bstnode query t data else if cur.getdata compareto data 0 else return null 前序遍歷 先輸出父節點,再遍歷左子樹和右子樹 中序遍歷 先遍歷左子樹,再輸出父節點,再遍歷右子樹 後序遍歷 先...

判斷乙個資料序列是否是BST後序遍歷的結果

基本知識 1 bst 二叉排序樹,即父節點大於左子節點,小於等於右子節點 2 後序遍歷 先遍歷左子樹,再遍歷右子樹,最後遍歷根節點 基本思想 後續遍歷得到的陣列的最後乙個元素為根節點,前一部分為左子樹,後一部分為右子樹 前一部分中的元素都小於root 根 後一部分中的元素都大於root 根 所以可以...