二叉排序树

您所在的位置:网站首页 二叉排序树的平均查找长度是 二叉排序树

二叉排序树

2024-07-13 11:00| 来源: 网络整理| 查看: 265

概念

二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高(也称作对半查找法)。

一棵空树,或者是具有下列性质的二叉树:

(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)若存在值相等的结点,可以放在左子树上或者右子树上,视情况而定。(4)左、右子树也分别为二叉排序树; 性能分析

每个结点的C(i)为该结点的层次数。

最坏情况,当先后插入的关键字有序时,构成的二叉排序树蜕变为单支树,树的深度为其平均查找长度(n+1)/2(和顺序查找相同)。

最好的情况,二叉排序树的形态和折半查找的判定树相同,其平均查找长度和log 2 (n)成正比。

也就是说,最好情况下的算法时间复杂度为O(1),最坏情况下的算法时间复杂度为O(n)。

优化

为了防止二叉排序树的最坏的情况,需要对二叉排序树进行优化。

比如

平衡二叉树(AVL树)

红黑树

堆树(Treap)

这些均可以使查找树的高度为O(log(n))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3