数据结构建议

时间:2016-02-11 08:37:14

标签: performance data-structures hash hashtable

我正在尝试建立一个数据结构,其中单个联系人可以按字母顺序存储为“名字”,“姓氏”和“电话号码”。随着时间的推移,当电话簿中出现或删除新联系人时,电话簿会更新 以下是在执行所需任务时必须牢记的两个因素。

  • 可用空间有限。
  • 访问特定联系人所需的时间不得超过给定的阈值。

如果我使用哈希表,尽管速度足够快,但需要很大的空间 那么如果有2 GB的空间限制,我应该使用什么数据结构?

1 个答案:

答案 0 :(得分:1)

正如评论中所建议的那样,如果存在2 GB的硬限制,则实质上意味着需要具有恒定空间复杂度的数据结构。
不幸的是,不存在这样的数据结构。

另一方面,就时间和空间复杂性之间的权衡而言,Self-balancing binary search tree是一个非常好的数据结构。

查看此link了解各种其他数据结构的时间和空间复杂性。