关注
平衡二叉树和哈希表的差别,为啥 二叉树用得更多。
1>可以看出,散列表的插入删除的时间复杂度是O(1),而二叉查找树的时间复杂度为O(lohn),很明显散列表的性能更加,但是我们如果要输出一个有序序列,则散列表要先将数据移动到数组进行排序,而二叉查找数据只需要中序遍历即可,
2>散列表在进行频繁的插入数据,需要自动扩容,二自动扩容的本身就比较消耗内存,性能,而且会存在hash冲突,二平二叉查找树性能本身就比较稳定,
3>散列表在设计的时候,要考虑的因素很多,比如设计hash函数,hash冲突解决,装载因子等因素,而二叉树只要考虑平衡问题就可以了.
中序遍历二叉查找树,可以输出有序的数据序列,时间复杂度是 O(n),非常高效
速地查找最大节点和最小节点
笼统地来说,尽管散列表的查找等操作的时间复杂度是常量级的,但因为哈希冲突的存在,这个常量不一定比 logn 小,所以实际的查找速度可能不一定比 O(logn) 快。加上哈希函数的耗时,也不一定就比平衡二叉查找树的效率高。
第四,散列表的构造比二叉查找树要复杂,需要考虑的东西很多。比如散列函数的设计、冲突解决办法、扩容、缩容等。平衡二叉查找树只需要考虑平衡性这一个问题,而且这个问题的解决方案比较成熟、固定。
最后,为了避免过多的散列冲突,散列表装载因子不能太大,特别是基于开放寻址法解决冲突的散列表,不然会浪费一定的存储空间。
查看原帖
点赞 评论
相关推荐
查看24道真题和解析
点赞 评论 收藏
分享
查看28道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
238464次浏览 1945人参与
# 学历or实习经历,哪个更重要 #
40259次浏览 293人参与
# 北方华创开奖 #
22195次浏览 253人参与
# 地方国企笔面经互助 #
2407次浏览 6人参与
# 你最想要的公司福利是? #
38655次浏览 97人参与
# 选完offer后,你后悔学本专业吗 #
8948次浏览 62人参与
# 应届生被毁约被毁意向了怎么办 #
26126次浏览 236人参与
# 机械应届生薪资要多少才合适? #
12229次浏览 59人参与
# 查收我的offer竞争力报告 #
15618次浏览 214人参与
# 一觉醒来,我觉醒了超级打工人系统 #
2665次浏览 32人参与
# 没有实习经历,还有机会进大厂吗 #
804246次浏览 13800人参与
# 你觉得第一学历对求职有影响吗? #
14762次浏览 121人参与
# 我的工作日记 #
20936次浏览 270人参与
# 不给转正的实习,你还去吗 #
1515372次浏览 16960人参与
# 寒假躺平还是提前实习 #
57825次浏览 424人参与
# 秋招OC许愿 #
225623次浏览 1862人参与
# 秋招被确诊为…… #
52888次浏览 295人参与
# 如何一边实习一边秋招 #
983753次浏览 12570人参与
# 总结:哪家公司面试体验感最差 #
25110次浏览 122人参与
# 公司情报交流地 #
31452次浏览 224人参与
# 面试题刺客退退退 #
136356次浏览 2086人参与