判斷整數序列是否是二叉查詢樹的後序遍歷

2021-07-04 21:06:35 字數 622 閱讀 5209

這是一道面試題,解題的**如下(我這裡把有重複節點的序列排除了,這裡的二叉樹不允許有相同值得節點):

bool judgelistisbstreepostorder(int* iarray, int nleft, int nright)

int nmidvalue = iarray[nright];

int nsubleft = nleft;

int nsubright = nright;

for (int i = nleft; i < nright; i++)

else if(iarray[i] == nmidvalue)

}if (nsubright > nsubleft) }

//如果到尾部了,則無需檢查右子樹了

if (nsubright == nright)

nsubleft = nsubright;

nsubright = nright-1;

for (int i = nsubleft; i < nright; i++) }

return judgelistisbstreepostorder(iarray, nsubleft, nsubright);

}

二叉樹 判斷整數序列是否為二叉搜尋樹的後序序列

題目 判斷整數序列是不是二叉搜尋樹的後序遍歷 思路 後序遍歷根在最後 1.從開頭和根依次比較,劃分左右子樹 2.右子樹一但有 根的,false 3.遞迴判斷左右子樹 4.返回左右子樹的bool值想與 bool isposorder int arr,int len 右子樹一旦有小於root的值就是fa...

樹 4 判斷某個序列是否是二叉查詢樹的後序遍歷結果

二叉搜尋樹 1 它或者是一棵空樹 2 或者是具有下列性質的二叉樹 1 若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2 若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 3 左 右子樹也分別為二查詢序樹 5 7 6 9 11 10 8 由後序遍歷性質可知最後乙個元素是根節點 然後...

判斷二叉樹是否是平衡二叉樹

二叉樹的節點定義為 public class treenode 二叉樹的深度 根節點到葉節點的最長路徑長度 平衡二叉樹 二叉樹中任一節點的左右子樹的深度相差不超過1 遞迴的方法 如下 public boolean isbalanced treenode root intleft getheight ...