判斷整數序列是不是二元查詢樹的後序遍歷結果

2021-06-28 03:00:35 字數 874 閱讀 9368

題目:輸入乙個整數陣列,判斷該陣列是不是二元查詢樹的後序遍歷結果,如果是,返回true,否則返回假,具體實現如下:

[cpp]view plain

copy

#include 

using

namespace

std;  

//搜尋樹後序遍歷陣列最後乙個是根,從陣列頭到第乙個比根大的節點是左孩子,後面右孩子必須全大於根,遞推

static

bool

verifyarrayofbst(

inta, 

intstart, 

intlength)  

if(length == 0)  

if(length - i>0)  

}  }  }  

return

true

;  }  

intmain(

intargc, 

char

* argv)  

;  int

a1 = ;  

verifyarrayofbst(a, 0, 4);  

verifyarrayofbst(a1, 0, 4);  

if(verifyarrayofbst(a, 0, 4) == 

true

)    

else

if(verifyarrayofbst(a1, 0, 4) == 

true

)    

else

system("pause"

);  

return

0;  

}  

執行效果如圖1所示:

圖1 執行效果

判斷整數序列是不是二元查詢樹的後序遍歷結果

二叉查詢樹 binary search tree 或者是一棵空樹,或者是具有下列性質的二叉樹 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 它的左 右子樹也分別為二叉排序樹。post order 先訪問左節點,再訪問右節點...

判斷整數序列是不是二元查詢樹的後序遍歷結果

第9題 判斷整數序列是不是二元查詢樹的後序遍歷結果 題目 輸入乙個整數陣列,判斷該陣列是不是某二元查詢樹的後序遍歷的結果。如果是返回true,否則返回false。例如輸入5 7 6 9 11 10 8,由於這一整數序列是如下樹的後序遍歷結果 8 6 10 5 7 9 11 因此返回true。如果輸入...

判斷整數序列是不是二元查詢樹的後序遍歷結果

二叉樹 遍歷 一 題目 感謝 提供的題目 判斷整數序列是不是二元查詢樹的後序遍歷結果 輸入乙個整數陣列,判斷該陣列是不是某二元查詢樹的後序遍歷的結果。如果是返回true,否則返回false。例如 輸入5 7 6 9 11 10 8,由於這一整數序列是如下樹的後序遍歷結果 8 6 10 5 7 9 1...