【发布时间】:2011-03-16 23:14:24
【问题描述】:
我很想知道使用自平衡树技术存储项目而不是使用哈希表的原因是什么。
我看到哈希表无法维护插入顺序,但我总是可以使用顶部的链表来存储插入顺序序列。
我发现对于少量值,哈希函数会增加成本,但我总是可以将哈希函数与键一起保存以加快查找速度。
我知道哈希表比直接实现红黑树更难实现,但在实际实现中,难道不想多花点功夫吗?
我看到对于哈希表,发生冲突是正常的,但是对于允许将键保存在哈希表本身中的双哈希等开放寻址技术,问题并没有减少到没有的效果对此类实现偏爱红黑树?
我很好奇我是否完全忽略了哈希表的一个缺点,它仍然使红黑树在实际应用程序(如文件系统等)中非常可行的数据结构。
【问题讨论】:
-
两种数据结构各有利弊。您应该选择更适合您的问题的那个。