二叉樹----遍歷
一、題目:(感謝 提供的題目)
二、分析:判斷整數序列是不是二元查詢樹的後序遍歷結果
輸入乙個整數陣列,判斷該陣列是不是某二元查詢樹的後序遍歷的結果。如果是返回true,否則返回false。
例如:輸入5、7、6、9、11、10、8,由於這一整數序列是如下樹的後序遍歷結果:
8/ \
6 10
/ \ / \
5 7 9 11
因此返回true。
如果輸入7、4、6、5,沒有哪棵樹的後序遍歷的結果是這個序列,因此返回false。
1.整數序列,即序列中可能出現負數三、**:2.後序遍歷:左右中
3.(1)以最後一位為基準,把前面的數分為兩類,比基準大和比基準小,並且這兩類數必須是連續的,否則返回false;
(2)以此類推,在這兩堆數中各找其基準,重複上述操作,如果沒有返回false,則返回true。
#includeusing namespace std;
//正確
const int intarray = ;
const int arraysize = 14;
//正確
//const int intarray = ;
//const int arraysize = 7;
//錯誤
//const int intarray = ;
//const int arraysize = 4;
//錯誤
//const int intarray = ;
//const int arraysize = 12;
bool check(int startposition,int datumposition)
} }if(leftstartif(rightstartreturn true;
}void main()
判斷整數序列是不是二元查詢樹的後序遍歷結果
二叉查詢樹 binary search tree 或者是一棵空樹,或者是具有下列性質的二叉樹 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 它的左 右子樹也分別為二叉排序樹。post order 先訪問左節點,再訪問右節點...
判斷整數序列是不是二元查詢樹的後序遍歷結果
第9題 判斷整數序列是不是二元查詢樹的後序遍歷結果 題目 輸入乙個整數陣列,判斷該陣列是不是某二元查詢樹的後序遍歷的結果。如果是返回true,否則返回false。例如輸入5 7 6 9 11 10 8,由於這一整數序列是如下樹的後序遍歷結果 8 6 10 5 7 9 11 因此返回true。如果輸入...
判斷整數序列是不是二元查詢樹的後序遍歷結果
二元查詢樹的定義為 1 若左子樹不空,則左子樹上所有節點的值均小於其根節點的值。2 若右子樹不空,則右子樹上所有節點的值均小於其跟節點的值 3 其左右子樹也均為二叉查詢樹。那麼先給定乙個數字序列5 7 6 9 11 10 8,判斷這個序列是否是二元查詢樹的後根遍歷。可以回想一下後序遍歷的性質,先訪問...