查找字典中包含的最长前缀
finding the longest prefix contained in a dictionary
我正在实现Lempel-Ziv压缩,一个问题浮现在脑海中。
给定一个"字典"和一串字符。我希望能够计算字典中包含的最长前缀 og 字符串。
这是给定的字符串:
0 : AABB
1 : ABA
2 : AAAB
和查询字符串"AABBABA"我希望能够进行返回"0"的查找,这应该在时间上与前缀的长度线性地完成。
接下来,我希望能够在恒定时间内将新的前缀"AABBAB"添加到字典中。
是否有一种标准且简单的方法/算法来执行此操作?
我最初的想法是构建一个带有指针列表的标准 n 路树,然后搜索这个?
您描述的是一个简单的 trie 查找,除了即使有多余的字符,您也会返回叶节点。
不确定你在想 n 路树,但很可能它是完全相同的,因为它是显而易见的解决方案:v) .如果你想提高效率,你可以研究不同类型的尝试。
相关文章:
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 编译包含字符串的代码时遇到问题
- c++库的公共头文件中应该包含什么
- 将包含C样式数组的对象初始化为成员变量(C++)
- 是否需要删除包含对象的"pair"?
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 使用mongocxx驱动程序时包含头文件问题
- 如何在h文件中包含.o对象文件
- 在混合代码库中将C转换为C++时出现许多包含错误
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- cmath抛出错误C2062、C2059、C2143和C2447.cmath包含在矢量文件中
- 为什么您需要C++头文件的包含保护
- CMake 错误 - 目标 foo INTERFACE_SOURCES属性包含在源目录中以前缀为前缀的路径
- 传统C 代码不包含std ::前缀
- 应该包含哪些标头才能在 Linux 上的 c++ 代码中保留前缀 std::
- 为包含通用字符名的字符串文字省略u8前缀
- C学习如何在VC2010上设置正确的包含路径前缀
- 查找字典中包含的最长前缀