B 資料結構實驗之查詢二 平衡二叉樹

2021-10-11 09:17:12 字數 963 閱讀 6037

根據給定的輸入序列建立一棵平衡二叉樹,求出建立的平衡二叉樹的樹根。

輸入一組測試資料。資料的第1行給出乙個正整數n(n <= 20),n表示輸入序列的元素個數;第2行給出n個正整數,按資料給定順序建立平衡二叉樹。

輸出平衡二叉樹的樹根。

input

588 70 61 96 120

output

70

#include

#include

using

namespace std;

typedef

struct node

tree;

//求深度

intdeep

(tree *root)

//返回新的深度值

intnew_deep

(tree *p)

//當深度差大於1發生在左子樹的左孩子

//單向右旋

tree*

ll(tree *root)

//發生在右子樹的右孩子

//單向左旋

tree*

rr(tree *root)

//發生在左子樹的右孩子

tree*

lr(tree *root)

//發生在右子樹的左孩子

tree*

rl(tree *root)

//建立平衡二叉樹

//每插入乙個資料就要判斷是否平衡

tree*

creat_tree

(tree *root,

int key)

else

}else}}

root-

>deep =

new_deep

(root)

;return root;

}int

main()

cout<>data

}

B 資料結構實驗之查詢二 平衡二叉樹

description 根據給定的輸入序列建立一棵平衡二叉樹,求出建立的平衡二叉樹的樹根。input 輸入一組測試資料。資料的第1行給出乙個正整數n n 20 n表示輸入序列的元素個數 第2行給出n個正整數,按資料給定順序建立平衡二叉樹。output 輸出平衡二叉樹的樹根。sample input ...

資料結構實驗之查詢二 平衡二叉樹

建立平衡二叉樹,我們採用依次插入節點的方式進行。而平衡二叉樹上插入節點採用遞迴的方式進行。遞迴演算法如下 1 若該樹為一空樹,那麼插入乙個資料元素為e的新節點作為平衡二叉樹的根節點,樹的高度增加1。2 若待插入的資料元素e和平衡二叉樹 bbst 的根節點的關鍵字相等,那麼就不需要進行插入操作。3 若...

資料結構實驗之查詢二 平衡二叉樹

time limit 400ms memory limit 65536k 根據給定的輸入序列建立一棵平衡二叉樹,求出建立的平衡二叉樹的樹根。輸入一組測試資料。資料的第1行給出乙個正整數n n 20 n表示輸入序列的元素個數 第2行給出n個正整數,按資料給定順序建立平衡二叉樹。輸出平衡二叉樹的樹根。5...