1、2-3树简介
当二叉树平衡时,我们查找一个元素需要遍历的层级是log(N+1),按照大O算法可得时间复杂度为logN,这种查找比链表和数组的O(N)算法要高效得多。
但是当二叉树不平衡时,我们发现它的查找效率依旧是O(N),比如如下情况:
为了保证二叉树的平衡,提高树查找的效率,减少遍历的层级,我们允许一个结点保留多个键,并且链接的不止两条链:
2-结点:含有一个键和两条链,左链指向的键都小于该结点,右链指向的键都大于该结点。
3-结点:含有两个键和三条链,左链指向的键都小于该结点,右链指向的键都大于该结点,中链指向的的键介于该结点的两个键之间。
注:2-3树满足二分搜索树性质,节点左侧的值小于该节点的