电话簿的数据结构

Anu*_*uri 11 algorithm data-structures

可能重复:
存储100万个电话号码

如何设计具有3个字段名称,电话号码,地址的电话通讯簿的数据结构

必须能够在3个字段中的任何一个上搜索此电话簿

哈希表不起作用,因为所有三个字段都应该哈希到相同的值,这是我认为不可能的.我也考虑过trie和其他数据结构,但却没有想到正确的答案.

小智 6

您应该使用TRIE数据结构来实现电话簿.TRIE是一个使用字符串作为键的有序树数据结构.与之不同Binary Trees,TRIE不存储与节点关联的密钥.

好例子


gcb*_*son 5

您可以使用单个哈希表或其他类型的关联数组(如果需要)来完成此操作。对于每个人,只需在表中拥有三个键(姓名,地址,电话),它们都指向同一记录。


DJ *_*urb -1

C、C++ 还是 C#?

使用类列表

    public class PhoneBook
{
    public string name;
    public string phoneNumber;
    public string address;
}
Run Code Online (Sandbox Code Playgroud)

将其放入列表中,您就有了电话簿

  • C. 问题标记为“c”。没有课程。 (3认同)