更新链式二叉树、平衡二叉树

This commit is contained in:
huihut 2018-02-22 01:06:50 +08:00
parent e8f140649e
commit 72327ba94b
3 changed files with 23 additions and 0 deletions

View File

@ -303,8 +303,31 @@ typedef struct BiTNode
#### 平衡二叉树AVL树
##### 性质
* | 左子树树高 - 右子树树高 | <= 1
* 平衡二叉树必定是二叉搜索树,反之则不一定
* 最小二叉平衡树的节点的公式:`F(n)=F(n-1)+F(n-2)+1` 1是根节点F(n-1)是左子树的节点数量F(n-2)是右子树的节点数量)
![](images/Self-balancingBinarySearchTree.png)
##### 最小失衡树
平衡二叉树插入新结点导致失衡的子树
调整:
* LL型根的左孩子右旋
* RR型根的右孩子左旋
* LR型根的左孩子左旋再右旋
* RL型右孩子的左子树先右旋再左旋
#### 红黑树
##### 应用
* 关联数组如STL中的map、set
#### B树
#### B+树

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB