題目:
輸入乙個整數陣列,判斷該陣列是不是一顆二叉搜尋樹的後續遍歷的結果
分析:
//輸入乙個整數陣列,判斷該陣列是不是一顆二叉搜尋樹的後續遍歷的結果
//如果是返回true,否則返回false
//分析:由於二叉搜尋樹的特性,左子樹一定小於根節點,右子樹一定大於根節點
//所以在一顆二叉搜尋樹中不會出現兩個相同的節點,
bool isbst(int arr,int len)
int j=i+1;
while(j 0)
leftchild=isbst(arr,i);
//遞迴右子樹
bool rightchild=true;
if(i < len-1)
rightchild=isbst(arr,len-i-1);
//最後返回左右子樹相 && 的結果
return (leftchild && rightchild);
}
二叉搜尋樹的後序序列
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。1 因為是二叉搜尋樹 所以每個結點的左邊都小於根結點,右邊都大於根結點 2 而二叉搜尋樹的子樹也是二叉搜尋樹,因此也符合1 3 因此,除了最後結點之外的序列前部分...
二叉搜尋樹的後序遍歷序列
題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是返回true,否則返回false。假設輸入的陣列的任意兩個數字都不相同。解答 二叉搜尋樹後序遍歷最後訪問的是根節點,根據根節點將陣列分成兩部分,前面一部分即左子樹值小於根節點值,後面一部分即右子樹的值大於根節點 再遞迴的檢查...
二叉搜尋樹的後序遍歷序列
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。include using namespace std bool verifysquenceofbst int sequence,int length int j...