構建平衡二叉樹,為什麼要構建平衡二叉樹,的主要目的為

2021-04-22 15:21:46 字數 824 閱讀 5299

1樓:匿名使用者

首先按照這個順copy序27,16,73,35,42輸入,得到如下二叉排序樹

2716 73

3542

不平衡最小子樹的根節點是73

所以要旋轉以73為根結點的子樹使得整棵樹平衡觀察這棵子樹可知 這是一個lr型的子樹

需要對其進行兩次旋轉先l軟後r

l旋轉得到

7342

35r旋轉得到

4235 73

所以整合整棵樹得到平衡二叉樹為

2716 42

35 73

(資料結構)輸入序列為{20, 11, 12,……},構造平衡二叉樹,當在樹中插入值12時發生不平衡,則應進行 10

2樓:哈西嘿嘿嘿呀嘿

題目中應該問的是三個數字中插入第三個數字12時應進行的調整,即不平衡的點在最小不平衡樹根節點的左孩子的右子數上,應進行的調整是lr調整,先逆時針後順時針。

3樓:烏石

答案為a,要知道構造bai平衡二叉樹,其實du是構造平衡的二叉zhi

排序樹,所以這dao種不平衡是在最小回不平衡子答樹的根結點的左孩子的左子樹插入一個結點引起的不平衡,所以是ll型。放心是不會是出現相等的數字了,否則就不滿足二叉排序樹的定義了

為什麼要構建平衡二叉樹,的主要目的為? 5

4樓:匿名使用者

因為正常的二叉排序樹弄得不好查詢效能近似於o(n),使用平衡二叉樹則可以保證查詢效能不超過1.5log2n

什麼是二叉樹

二叉樹也是遞迴定義的,其結點有左右子樹之分,邏輯上二叉樹有五種基本形態 1 空二叉樹 a 2 只有一個根結點的二叉樹 b 3 右子樹為空的二叉樹 c 4 左子樹為空的二叉樹 d 5 完全二叉樹 e 注意 儘管二叉樹與樹有許多相似之處,但二叉樹不是樹的特殊情形。參考 二叉樹就是和兩個最多隻有兩個分叉的...

C語言二叉樹遞迴演算法怎麼做?什麼是二叉樹的遞迴?

include include struct treenode typedef treenode bitree void visit treenode node 結點總數。int node bitree t return node t left node t right 1 前序。void preo...

資料結構二叉樹怎麼遍歷啊,資料結構二叉樹已知中序遍歷,後序遍歷,求先序遍歷???

拿先序遍歷舉例 先序遍歷 是根左 右先遍歷根a,然後遍歷a的左子樹 是版左面那一群 然後遍歷a的右子權樹 為空 在a的左子樹中,先遍歷根也就是b,在遍歷b的左子樹也就是c,在遍歷b的右子樹,是右邊的一群。在b的右子樹中繼續 資料結構二叉樹已知中序遍歷,後序遍歷,求先序遍歷?通過分段來解決,找到根節點...