关注
平衡二叉树和哈希表的差别,为啥 二叉树用得更多。
1>可以看出,散列表的插入删除的时间复杂度是O(1),而二叉查找树的时间复杂度为O(lohn),很明显散列表的性能更加,但是我们如果要输出一个有序序列,则散列表要先将数据移动到数组进行排序,而二叉查找数据只需要中序遍历即可,
2>散列表在进行频繁的插入数据,需要自动扩容,二自动扩容的本身就比较消耗内存,性能,而且会存在hash冲突,二平二叉查找树性能本身就比较稳定,
3>散列表在设计的时候,要考虑的因素很多,比如设计hash函数,hash冲突解决,装载因子等因素,而二叉树只要考虑平衡问题就可以了.
中序遍历二叉查找树,可以输出有序的数据序列,时间复杂度是 O(n),非常高效
速地查找最大节点和最小节点
笼统地来说,尽管散列表的查找等操作的时间复杂度是常量级的,但因为哈希冲突的存在,这个常量不一定比 logn 小,所以实际的查找速度可能不一定比 O(logn) 快。加上哈希函数的耗时,也不一定就比平衡二叉查找树的效率高。
第四,散列表的构造比二叉查找树要复杂,需要考虑的东西很多。比如散列函数的设计、冲突解决办法、扩容、缩容等。平衡二叉查找树只需要考虑平衡性这一个问题,而且这个问题的解决方案比较成熟、固定。
最后,为了避免过多的散列冲突,散列表装载因子不能太大,特别是基于开放寻址法解决冲突的散列表,不然会浪费一定的存储空间。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
2025-12-17 12:08
门头沟学院 产品经理
牛客85811352...:1希音不知道算不算大厂
2完全符合,过得很舒服,
3确实只有杂活 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的付费上班经历 #
2511次浏览 61人参与
# 如果不上班,你会去做什么 #
1073次浏览 47人参与
# MiniMax求职进展汇总 #
1159次浏览 25人参与
# 参加哪些竞赛对找工作有帮助? #
1439次浏览 30人参与
# 工作压力大,你会干什么? #
1142次浏览 41人参与
# 为了入行xx岗,我学了__ #
895次浏览 17人参与
# 职场新人体验 #
159977次浏览 1141人参与
# 你们的毕业论文什么进度了 #
1234917次浏览 9913人参与
# 拿到offer之后,可以做些什么 #
84199次浏览 438人参与
# 硬件/芯片公司工作体验 #
142313次浏览 946人参与
# 你觉得面试是靠实力还是靠运气 #
27308次浏览 305人参与
# 当你面对裁员会如何? #
353022次浏览 2857人参与
# 生物制药/化工校招攻略 #
72969次浏览 338人参与
# 牛客十周岁生日快乐 #
203971次浏览 1914人参与
# 哪些公司在招寒假实习? #
24820次浏览 346人参与
# 这些公司卡简历很严格 #
84252次浏览 379人参与
# 聊聊你的职场新体验 #
311260次浏览 1842人参与
# 硬件人秋招进展 #
265306次浏览 3967人参与
# 招聘要求与实际实习内容不符怎么办 #
150333次浏览 891人参与
# 秋招开了,你想投哪些公司呢 #
968297次浏览 11391人参与
# 快手工作体验 #
296749次浏览 2896人参与
阿里云成长空间 791人发布