码迷,mamicode.com
首页 > 编程语言 > 详细

【数据结构】简单谈一谈二分法和二叉排序树BST查找的比较

时间:2016-11-27 23:04:08      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:nbsp   排序二叉树   需要   不能   范围   查找   插入   bst   平均情况   

二分法查找:
『在有序数组的基础上通过折半方法不断缩小查找范围,直至命中或者查询失败。』
 
二分法的存储要求:要求顺序存储,以便于根据下标随机访问
 
二分法的时间效率:O(Log(n))
 
二分法的空间效率:原地查询 O(1)
 
二分法对应的搜索树是确定的。
 
二叉排序树查找:
『借助二叉排序树进行搜索,但因为所建立的树本身不一定是轴对称的,所以每次比较并不能确保减小一半范围。』
 
二叉树的存储要求:需要树形结构,相比顺序存储需要占用更多的空间,但也有链接型数据结构灵活可拓展的有点。
 
二叉排序树查找的时间复杂度:平均情况下,O(Log(n)),但在单支树的情况下就变成了顺序遍历搜素,复杂度退化为O(n)。
 
二叉树的空间复杂度:因为需要建立排序二叉树,所以空间复杂度为O(n)
 
插入节点的平均时间复杂度为O(LogN),不过这里我们主要谈的是查找,所以其他方面暂且不聊了。后面为了减小时间复杂度,产生了二叉平衡树用于优化二叉树查找。
 
这里有一个经常提到的概念——查找长度,又分为失败查找长度,成功查找长度,即是为了得出查找结果需要进行的元素对比次数,要借助对应搜索树和树高来分析。
 

【数据结构】简单谈一谈二分法和二叉排序树BST查找的比较

标签:nbsp   排序二叉树   需要   不能   范围   查找   插入   bst   平均情况   

原文地址:http://www.cnblogs.com/learn-to-rock/p/6107118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!