查找表性能分析

顺序表和二叉排序树都可以作为查找表,有序顺序表可以使用二分查找,时间复杂度为O(logn),二叉排序树时间复杂度最好也为O(logn),请分析并回答以下问题:
(1)顺序表作为查找表有何优缺点,从操作时间性能上考虑适用于什么场合?
(2)二叉排序树作为查找表有何优缺点,从操作时间性能上考虑适用于什么场合?

(1).顺序表
优点
1.支持随机访问
2.在O(1)的时间复杂度内,访问下标为i的位置。
3.很多算法的都必须用顺序表
4.缓存命中率高
缺点
1.每次容量满了都需要扩容(扩容很浪费系统资源)
2.容易浪费空间
3.头插头删,或者中间插入删除效率太低

适用于需要大量访问大量元素的而少量增添/删除元素的程序

(2).二叉查找树的优点:
二叉排序树是一种比较有用的折衷方案.
数组的搜索比较方便,可以直接用下标,但删除或者插入某些元素就比较麻烦.
二叉排序树就既有链表的好处,也有数组的好处。
在处理大批量的动态的数据是比较有用.
二叉查找树的缺点:
顺序存储可能会浪费空间(在非完全二叉树的时候),但是读取某个指定的节点的时候效率比较高O(0)
链式存储相对二叉树比较大的时候浪费空间较少,但是读取某个指定节点的时候效率偏低O(nlogn)

适用于减少顺序查找的时间复杂度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值