C 字典类型“;电话簿“;开放散列?还有可能是链表?

C 字典类型“;电话簿“;开放散列?还有可能是链表?,c,data-structures,C,Data Structures,我正在做一个自我项目,或者你想怎么称呼它,我正在创建一个电话簿-字典类型,它允许无限的唯一名称,每个名称允许无限的电话号码,所以几乎都是链表,对吗?是的,没有静态数组…:/因为it数据可以说是无限的。。所以我的问题是…有更好的方法吗?有人有什么想法吗?无限但唯一的人名,那么每个人都可以拥有一组未登录的电话号码?您可以尝试使用自平衡二进制搜索树或某种哈希表 更多信息见下文 如果您以前从未这样做过,那么将其实现为哈希表可能会更简单。我建议读一本关于算法和数据结构的书。随后提供了一些资源 当

我正在做一个自我项目,或者你想怎么称呼它,我正在创建一个电话簿-字典类型,它允许无限的唯一名称,每个名称允许无限的电话号码,所以几乎都是链表,对吗?是的,没有静态数组…:/因为it数据可以说是无限的。。所以我的问题是…有更好的方法吗?有人有什么想法吗?无限但唯一的人名,那么每个人都可以拥有一组未登录的电话号码?

您可以尝试使用自平衡二进制搜索树或某种哈希表

更多信息见下文

如果您以前从未这样做过,那么将其实现为哈希表可能会更简单。我建议读一本关于算法和数据结构的书。随后提供了一些资源


当然,如果您对详细信息不感兴趣,可以将现有库用于此数据库或某种类型的数据库。

您可以尝试一种排序树,以便根目录中的路径拼写您要查找的名称。某种类型的人员和电话号码哈希表可能会加快查找速度。但是为什么不把数据放在数据库中呢?像这样一个简单的数据库可能是最好的,特别是如果你想在两次跑步之间保存数据的话。你只给出了问题的一半信息:你的电话簿的主要用途是什么?如果不清楚要用数据结构做什么,那么要求它是没有意义的。如果您认真对待您的“无限”需求,那么您主要关心的问题之一就是处理无限的持久数据(在您的文件系统或数据库中),这本身就是一项非常复杂的任务。感谢您的回复,很抱歉,我总是忘了检查stackoverflow。