|
|
1
4
有效地
工具
(刚刚看到莱皮的答案,我相信这就是他所说的那种混合方法。) |
|
2
3
如果您的字符来自一个有限的集合(例如,只有大写拉丁字母),那么您可以存储一个26个元素的数组,并且每次查找都是
|
|
|
3
3
在我看来,将它实现为一个字典,并不是实现一个Trie,而是实现一个字典字典。 当我实现了一个trie时,我已经按照Damien\u the \u unsiverse建议的方法来实现了它(+1):
这在理想情况下要求您的trie只支持由
当您需要添加/删除/检查节点是否存在时,您可以执行以下操作:
我接受了密码 from here 我想你会对TSTs感到惊喜;一旦我实现了一个TSTs,我就完全放弃了尝试。
|
|
|
4
2
有几种方法,但使用单个链接列表可能是最简单和轻量级的。 我会做一些测试,看看每个节点有多少子节点。如果不多(比如说20或更少),链接列表方法应该比哈希表更快。您还可以根据子节点的数量来执行混合方法。 |
|
|
optimusfrenk · GUID算法如何处理“时钟序列”? 8 年前 |
|
|
Cowsay · 如何在没有助手方法的情况下实现这个foldl0函数? 8 年前 |
|
|
Michael J · 使用不同的实现文件来实现多态性可以吗? 10 年前 |
|
|
Adi Micutzu · 使用什么方法在多台PC上分发算法? 10 年前 |
|
|
Veneet Reddy · 为什么我的快速排序实现不起作用? 11 年前 |
|
|
user3326689 · 在头文件c++[closed]中使用结构 12 年前 |