是否必须使用数组实现哈希表?

时间:2012-09-03 15:50:12

标签: data-structures

是否必须使用数组实现哈希表?替代数据结构是否会实现相同的效率?如果是,为什么?如果不是,数据结构必须满足什么条件才能确保数组提供的效率相同?

1 个答案:

答案 0 :(得分:2)

  

是否必须使用数组实现哈希表?

没有。您可以在arrray旁边的其他数据结构中实现HashTable接口。例如。一棵红黑树(java的TreeMap) 这提供了O(logN)访问时间 但Hash Table预计会有O(1)个访问时间(最好的情况是没有碰撞) 这只能通过一个阵列来实现,该阵列提供了在恒定时间内随机访问的可能性。

  

数据结构必须满足什么条件才能确保相同   数组提供的效率?

必须具有与阵列相当的性能(小于O(N))。对于所有操作

,树形图的访问时间最短O(logN)
相关问题