基于树的查找法
基于树的查找法是将待查表组织成特定树的形式并在树结构上实现查找的方法,主要包括二叉排序树、平衡二叉树和B树等。
二叉排序树
二叉排序树的定义与描述
二叉排序树又称二叉查找树,它是一种特殊的二叉树。其定义为:二叉树排序树或者是一颗空树,或者是具有如下性质的二叉树。
①若它的左子树非空,则左子树上的所有节点的值均小于根节点的值。
②若它的右子树非空,则右子树上所有节点的值均大于或等于根节点的值。
③它的左右子树也分别为二叉排序树。
二叉排序树的插入与创建
二叉排序树的插入
已知一个关键字值为key的节点s,若将其插入到二叉排序树中,只要保证插入后仍符合二叉排序树的定义即可。
①若二叉排序树是空树,则key成为二叉排序树的根。
②若二叉排序树非空,则将key与二叉排序树的根进行比较:
a、若key的值等于根节点的值,则停止插入。
b、若key的值小于根节点的值,则将key插入左子树。
c、若key的值大于根节点的值,则将key插入右子树。
可以看出二叉排序树的插入,即插入每一个节点都是作为叶子,将其插到二叉排序树的合适位置,插入时不需要移动元素,不涉及树的整体改动。
时间复杂度: O(logn2) O ( l o g