輸入一顆二元查詢樹,將該樹轉換為它的映象

2021-06-09 13:57:43 字數 1182 閱讀 1802

二叉樹

一、題目:

輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。

用遞迴和迴圈兩種方法完成樹的映象轉換。

例如輸入:

8/  \

6  10

/ \   / \

5 7 9 11

輸出:8

/  \

10  6

/ \   / \

11 9 7 5

定義二元查詢樹的結點為:

struct bstreenode // a node in the binary search tree (bst)

;

二、**:

1.遞迴:

#includeusing namespace std;

struct bstreenode // a node in the binary search tree (bst)

;class bstree

~bstree()

bstreenode *getroot();

void inorder(bstreenode *root); //中序遍歷

輸入一顆二元查詢樹,將該樹轉換為它的映象

輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。例如給定下列的輸入 然後有如下的輸出 解法一 遞迴 首先交換根節點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...

13 輸入一顆二元查詢樹,將該樹轉換為它的映象

題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 6 10 5 7 9 11 輸出 8 10 6 11 9 7 5 定義二元查詢樹的結點為 struct bstreenode a node i...