我很想知道使用自平衡树技术来存储项目比使用哈希表更重要的推理是什么。
我发现哈希表无法维护插入顺序,但我始终可以在顶部使用链表来存储插入顺序序列。
我发现对于少量的值,哈希函数会增加成本,但我总是可以将哈希函数与密钥一起保存以加快查找速度。
我知道哈希表比直接实现红黑树更难实现,但在实际实现中,人们不会愿意为此付出额外的努力吗?
我发现对于哈希表,发生冲突是正常的,但是使用开放寻址技术(例如允许将密钥保存在哈希表本身中的双重哈希),问题是否已减少到不予倾斜的效果对于这样的实现,红黑树?
我很好奇我是否严格忽略了哈希表的一个缺点,该缺点仍然使红黑树在实际应用程序(如文件系统等)中相当可行的数据结构。
这是我能想到的:
- 有些数据无法进行哈希处理(或者哈希成本太高),因此无法存储在哈希表中。
- 树按照您需要的顺序(排序)保存数据,而不是插入顺序。即使您通过哈希表运行链表,也无法(有效地)使用哈希表来做到这一点。
- 树有更好的最坏情况性能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)