哈希表的优缺点:
优点:
快速查找:查找速度比树快O(1)
适应动态数据: 哈希表可以动态地调整大小,适应数据的不断变化。
简单直观: 哈希表的设计相对简单,易于理解和实现。
缺点:
不容易找到次要变体;
无法进行前缀搜索;
如果词汇持续增长,就需要定期进行昂贵的重哈希操作。
树的优缺点(黑色部分是B树的优缺点)
优点:
解决了前缀问题。
有序性: B树是一种有序树,支持按键排序,因此可以很容易地执行范围查询等操作。
适用于外部存储: B树适用于外部存储,因此在数据库系统等需要大规模数据存储的场景中表现良好。
缺点:
平衡树效率慢:O(logM)
重新进行平衡树是非常昂贵的。(b树缓解了这个缺陷)固定的阶: B树的阶(节点的最大子节点个数)是固定的,难以在运行时动态调整。