关注
平衡二叉树和哈希表的差别,为啥 二叉树用得更多。
1>可以看出,散列表的插入删除的时间复杂度是O(1),而二叉查找树的时间复杂度为O(lohn),很明显散列表的性能更加,但是我们如果要输出一个有序序列,则散列表要先将数据移动到数组进行排序,而二叉查找数据只需要中序遍历即可,
2>散列表在进行频繁的插入数据,需要自动扩容,二自动扩容的本身就比较消耗内存,性能,而且会存在hash冲突,二平二叉查找树性能本身就比较稳定,
3>散列表在设计的时候,要考虑的因素很多,比如设计hash函数,hash冲突解决,装载因子等因素,而二叉树只要考虑平衡问题就可以了.
中序遍历二叉查找树,可以输出有序的数据序列,时间复杂度是 O(n),非常高效
速地查找最大节点和最小节点
笼统地来说,尽管散列表的查找等操作的时间复杂度是常量级的,但因为哈希冲突的存在,这个常量不一定比 logn 小,所以实际的查找速度可能不一定比 O(logn) 快。加上哈希函数的耗时,也不一定就比平衡二叉查找树的效率高。
第四,散列表的构造比二叉查找树要复杂,需要考虑的东西很多。比如散列函数的设计、冲突解决办法、扩容、缩容等。平衡二叉查找树只需要考虑平衡性这一个问题,而且这个问题的解决方案比较成熟、固定。
最后,为了避免过多的散列冲突,散列表装载因子不能太大,特别是基于开放寻址法解决冲突的散列表,不然会浪费一定的存储空间。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
11-14 08:52
山东工商学院 Java
吴鹏阳:这个老师如果爱举报,你这门课确实可能挂科,这没办法。但是辅导员所谓的延毕,,怎么说呢,毕业生的就业率可是辅导员的一大考核,他咋可能为了一个逃课实习去损害自己的利益呢? 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的秋招白月光和意难平公司 #
15832次浏览 151人参与
# 职场上哪些事情令人讨厌 #
27238次浏览 111人参与
# 百度秋招 #
57254次浏览 395人参与
# 你想跟着什么样领导? #
10374次浏览 131人参与
# 机械人还在等华为开奖吗? #
280622次浏览 1438人参与
# 从夯到拉,评价编程语言 #
9069次浏览 75人参与
# 什么样的背景能拿SSP? #
118992次浏览 417人参与
# 一人一个landing小技巧 #
133910次浏览 1479人参与
# 牛客租房专区 #
127847次浏览 1359人参与
# 找实习是选平台还是选业务? #
13950次浏览 179人参与
# 每个月花钱最多的地方是? #
7733次浏览 105人参与
# 大疆的机械笔试比去年难吗 #
94028次浏览 764人参与
# 腾讯工作体验 #
530763次浏览 3593人参与
# 你见过哪些工贼行为 #
47234次浏览 175人参与
# xxx岗位的一天 #
13713次浏览 124人参与
# 十一月总结 #
19465次浏览 181人参与
# 深信服求职进展汇总 #
237213次浏览 1799人参与
# AI“智障”时刻 #
8215次浏览 76人参与
# 实习的内耗时刻 #
203690次浏览 1497人参与
# 分享一个让你热爱工作的瞬间 #
48644次浏览 417人参与
# 你面试时吹过最大的牛 #
25070次浏览 130人参与
顺丰集团工作强度 335人发布