使用 trie 数据结构链接不同类型的信息
Linking Different types of information using trie data structure
所以我想为一个使用try 数据结构存储(ID,FIRST_NAME,LAST_NAME(的电话目录创建一个记录。
但我超级困惑! 如何将 ID 的尝试与 FIRST_NAMEs 和LAST_NAMEs 的尝试联系起来 以一种使我能够通过手机ID搜索用户名的方式。
我真的很感激任何想法或建议
只需将信息存储在堆分配的对象中即可。在各种尝试中存储指向它的指针。
鉴于
struct User {
std::string id, first_name, last_name;
};
您将像这样插入一个新用户:
User * bart = new User{"123", "Bart", "Simpson"};
id_trie.insert(bart->id, bart);
fn_trie.insert(bart->first_name, bart);
ln_trie.insert(bart->last_name, bart);
其中,三个 trie 数据结构可以使用如下所示的节点:
struct trie_node {
User * user;
std::map<char, trie_node *> children;
};
其中user
是nullptr
或指向User
的指针。
练习:调整它以允许多个用户(例如,如果他们共享相同的名字或姓氏(
相关文章:
- Keil armcc 生成类型信息名称,即使使用 --no_rtti_data
- 错误:未定义对"静脉类型信息::电池访问"的引用
- 如何在编译过程中输出C 类型信息
- 如何在C 中检查确切的类型信息(具有CV-REF-POIRT特征)
- 共享库中非模板基的模板子类导致未定义的符号类型信息'class'链接错误
- 为什么C++不使用集中存储类型信息以实现高效的 RTTI
- 给定DDS主题名称,可以在运行时确定主题类型信息
- 使用友元函数从多态类中检索类型信息
- 如何在函数模板中隐式推导数组中元素的类型信息
- 使用标准类型的动态类型信息实例化标识符
- 超载功能没有上下文类型信息
- 对"vtable for "命名空间继承的未定义引用 对"类型信息"的未定义引用
- 多映射插入键类型信息 std::make_pair vs std::p air 构造函数
- Visual Studio-使用PDB进行调试,但缺少类型信息
- 如何在不同的上下文(例如线程)中保留原始异常类型信息
- C++正在传输运行时条件类型信息
- C++虚拟表上的虚拟定义器和类的类型信息
- C++测试宏定义的类型信息值
- 编译器不可知的运行时类型信息
- C++类型信息