本篇主要详细介绍动态查找树的演进,包括平衡二叉树,2-3查找树,红黑树,B树以及B+树。
平衡二叉树
平衡二叉树,又称AVL树,指的是左子树上的所有节点的值都比根节点的值小,而右子树上的所有节点的值都比根节点的值大,且左子树与右子树的高度差最大为1。
可以在这个地址里模拟平衡二叉树:https://www.cs.usfca.edu/~galles/visualization/BST.html
2-3查找树
如果一个内部节点拥有一个数据元素、两个子节点,则此节点为2节点。
如果一个内部节点拥有两个数据元素、三个子节点,则此节点为3节点。
当且仅当以下叙述中有一条成立时,T为2–3树:
T为空,即T不包含任何节点。
T为拥有数据元素a的2节点,若T的左孩子为L、右孩子为R,则L和R是等高的非空2–3树;a大于L中的所有数据元素;a小于等于R中的所有数据元素。
T为拥有数据元素a和b的3节点,其中a < b,若T的左孩子为L、中孩子为M、右孩子为R,则L、M、和R是等高的非空2–3树;a大于L中的所有数据元素,并且小于等于M中的所有数据元素;b大于M中的所有数据元素,并且小于等于R中的所有数据元素。