关注
平衡二叉树和哈希表的差别,为啥 二叉树用得更多。
1>可以看出,散列表的插入删除的时间复杂度是O(1),而二叉查找树的时间复杂度为O(lohn),很明显散列表的性能更加,但是我们如果要输出一个有序序列,则散列表要先将数据移动到数组进行排序,而二叉查找数据只需要中序遍历即可,
2>散列表在进行频繁的插入数据,需要自动扩容,二自动扩容的本身就比较消耗内存,性能,而且会存在hash冲突,二平二叉查找树性能本身就比较稳定,
3>散列表在设计的时候,要考虑的因素很多,比如设计hash函数,hash冲突解决,装载因子等因素,而二叉树只要考虑平衡问题就可以了.
中序遍历二叉查找树,可以输出有序的数据序列,时间复杂度是 O(n),非常高效
速地查找最大节点和最小节点
笼统地来说,尽管散列表的查找等操作的时间复杂度是常量级的,但因为哈希冲突的存在,这个常量不一定比 logn 小,所以实际的查找速度可能不一定比 O(logn) 快。加上哈希函数的耗时,也不一定就比平衡二叉查找树的效率高。
第四,散列表的构造比二叉查找树要复杂,需要考虑的东西很多。比如散列函数的设计、冲突解决办法、扩容、缩容等。平衡二叉查找树只需要考虑平衡性这一个问题,而且这个问题的解决方案比较成熟、固定。
最后,为了避免过多的散列冲突,散列表装载因子不能太大,特别是基于开放寻址法解决冲突的散列表,不然会浪费一定的存储空间。
查看原帖
点赞 评论
相关推荐
那场寒冬:字节入职后完全看组有没有hc,暑假实习只是一个名字 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你感受到金三银四了嘛? #
59851次浏览 559人参与
# 美团笔试 #
672415次浏览 4395人参与
# 虽然0面试,但今天___,夸夸自己 #
7152次浏览 151人参与
# 拼多多工作体验 #
48991次浏览 306人参与
# 春招 / 实习投递,你最焦虑的一件事 #
47073次浏览 931人参与
# 简历无回复,你会继续海投还是优化再投? #
143366次浏览 886人参与
# 蚂蚁集团笔试 #
2420次浏览 17人参与
# vivo笔试 #
12341次浏览 120人参与
# 美团秋招笔试 #
193255次浏览 1048人参与
# 今天你投了哪些公司? #
115120次浏览 2171人参与
# 软开人,说说你的烦心事 #
66570次浏览 399人参与
# AI岗位暴涨12倍,你会转AI赛道吗? #
3039次浏览 67人参与
# 携程笔试 #
121533次浏览 742人参与
# 找工作,你都让AI帮你做什么? #
5593次浏览 195人参与
# 刚工作的你,踩过哪些坑? #
5037次浏览 112人参与
# 材料人,你最希望上岸的是? #
18199次浏览 67人参与
# 为了去实习,我赌上了___ #
68894次浏览 385人参与
# 哪一刻你对工作祛魅了? #
16894次浏览 169人参与
# 如果给AI员工评绩效,我的答案是…… #
6891次浏览 154人参与
# 硬件应届生薪资是否普遍偏低? #
106375次浏览 596人参与