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

2021-10-03 21:39:38 字數 1160 閱讀 1544

description

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

input

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

output

輸出平衡二叉樹的樹根。

sample

input

588 70 61 96 120

output

#include

#include

#include

#include

//#define max 1000

typedef

int telemtype;

typedef

struct node

node;

intmax

(int x,

int y)

//判斷大小

intdeep

(struct node*head)

//判斷左右子樹的深度,從而判斷需不需要繼續旋轉

return d;

}struct node *ll(

struct node*head)

//右轉

;struct node*rr(

struct node*head)

//左轉

;struct node*lr(

struct node*head)

;struct node*rl(

struct node*head)

;struct node *

creat

(struct node*head,

int m)

else

}else}}

head -

>deep =

max(

deep

(head-

>l)

,deep

(head-

>r))+

1;return head;};

intmain()

printf

("%d\n"

,head-

>data)

;return0;

}

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

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

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

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

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

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