定义:
二叉查找树又叫二叉排序树或者二叉搜索树。
二叉查找树特性:
1)左子树上所有结点的值均小于或等于它的根结点的值;
2)右子树上所有结点的值均大于或等于它的根结点的值;
3)左、右子树也分别为二叉查找(排序)树。
优点:
上图,查找值为10的节点,首先拿10和根节点9做比较,10比9大,则10在9节点的右侧,再比较10于13,10小于13,则10在13的左侧,在比较10与11,10小于11,则10在11的左侧,直到找到值为10的节点。
查找,为二分查找的思想,查找所需的最大次数为二叉查找树的高度。插入也是类似于查找的方法,通过一层一层的比较大小,找到新节点适合插入的位置。
备注:二叉查找树的查找和插入的平均时间复杂度都是O(logN)
缺点:
若,原二叉树节点为9、8、12,在插入新节点,3、4、5、6、7、8后,二叉树形态如上图,在此种形态的二叉查找树的查找性能大打折扣,几乎都变成线性。
为解决二叉查找树多次插入新节点而导致的不平衡问题,红黑树应运而生。