平衡二叉樹
平衡二叉樹的提出原因:衡量一棵排序二叉樹結(jié)構(gòu)是否合理系冗,它相當(dāng)于一個指標(biāo)
定義:
?
? ? ? ? 它是一棵空樹波材;
? ? ? ? 或者是一棵這樣的樹:樹種任一結(jié)點(diǎn)的左右子樹的深度差不超過1丽啡;
? ? ? ? 定義節(jié)點(diǎn)的平衡度為其右子樹的深度減去其左子樹的的深度渗常。則對于平衡查找樹偎巢,它的每個結(jié)點(diǎn)的平衡度只能為-1拟糕,0累提,1三個值之一尘喝;
結(jié)點(diǎn)的深度
? ? ? ??
判斷下面兩顆樹是否為平衡二叉樹:
例子:
tips:對于新插入結(jié)點(diǎn)的位置,應(yīng)該從頭開始進(jìn)行比較斋陪,大的放右邊朽褪,小的放左邊的規(guī)則;
練習(xí)01
平衡二叉樹調(diào)整( 四種情況 )
LL型平衡旋轉(zhuǎn):(單向右旋平衡處理)
RR型平衡旋轉(zhuǎn):( 單向左旋平衡處理 )
LR型平衡旋轉(zhuǎn):(雙向旋轉(zhuǎn)无虚,先左后右)
RL型平衡旋轉(zhuǎn):(雙向旋轉(zhuǎn)鞍匾,先右后左)
tips:這些旋轉(zhuǎn)呢,首先要找出不平衡的結(jié)點(diǎn)骑科,然后找最低的不平衡結(jié)點(diǎn)橡淑,進(jìn)行標(biāo)注RL,最后再進(jìn)行旋轉(zhuǎn)
放出比較容易理解的帖子:
https://blog.csdn.net/wxbmelisky/article/details/47787963