題目:輸入一顆二元查詢樹,將該樹轉換為它的映象,
即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。
用遞迴和迴圈兩種方法完成樹的映象轉換。
例如輸入:
8/ \
6 10
/\ /\
5 7 9 11
輸出:8
/ \10 6
/\ /\
11 9 7 5
定義二元查詢樹的結點為:
struct bstreenode // a node in the binary search tree (bst)
;分析:其實將題意轉化下之後就是讓我們交換二叉樹的左右孩子節點,要求用遞迴和非遞迴兩種方法實現,這道題在筆試中遇到了,不過當時答得不是很好,非遞迴實現沒寫好。
遞迴**實現:
node *mirror_solution1(node *proot)
return proot;
}
非遞迴實現:
node *mirror_solution2(node *proot)
} return proot;
}
輸入一顆二元查詢樹,將該樹轉換為它的映象
二叉樹 一 題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 6 10 5 7 9 11 輸出 8 10 6 11 9 7 5 定義二元查詢樹的結點為 struct bstreenode a ...
輸入一顆二元查詢樹,將該樹轉換為它的映象
輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。例如給定下列的輸入 然後有如下的輸出 解法一 遞迴 首先交換根節點8的左右子樹,10,6的左右子樹順序不變,然後交換根節點6的左右子節點,直到左右子節點為空為止。bstreenode digui bs...
15 輸入一顆二元查詢樹,將該樹轉換為它的映象
題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 6 10 5 7 9 11 輸出 8 10 6 11 9 7 5 定義二元查詢樹的結點為 struct bstreenode a node i...