二叉搜尋樹 映象二叉搜尋樹(前序轉後序 中序)

2021-10-05 04:04:09 字數 525 閱讀 3012

給出前序,判斷是否為二叉搜尋樹或者映象二叉搜尋樹,若是則輸出其後序遍歷

關鍵**:

//第乙個點為根節點,往後比它小的點是它的左子樹的點,

//再往後的全部是它右子樹的點,應該全部大於等於它,

//如果是映象的,那麼只要保證小於就好

void

getpost

(int root,

int tail)

else

if(i - j !=1)

return

;//如果要求輸出中序遍歷,則push_back()操作放在中間

getpost

(root +

1, j)

;getpost

(i, tail)

; post.

push_back

(pre[root]);

}

呼叫時:getpost(0,n-1)

(由post陣列的長度是否與n的長度相等即可判斷該樹是否為二叉搜尋樹)

這是二叉搜尋樹嗎?(二叉搜尋樹前序轉後序)

輸入樣例 1 78 6 5 7 10 8 11 輸出樣例 1 yes5 7 6 8 11 10 8 輸入樣例 2 78 10 11 8 6 7 5 輸出樣例 2 yes11 8 10 7 5 6 8 輸入樣例 3 78 6 8 5 10 9 11 輸出樣例 3 no include using na...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...

二叉搜尋樹 修剪二叉搜尋樹

第一反應是重構,看來別人的解答發現,其實不用重構那麼複雜。treenode trimbst treenode root,int low,int high if root val high 下一層處理完左子樹的結果賦給root left,處理完右子樹的結果賦給root right。root left ...