Ukkonen的后缀树算法,有什么必要?
Ukkonen's suffix tree algorithm, what is necessary?
是的,我读过这个:Ukkonen';s后缀树算法?
这是对算法的一个很好的解释,但与其说是算法本身杀死了我,不如说是用于实现它的数据结构
我需要数据结构尽可能小、尽可能快,我见过许多只使用节点的实现,有些只使用边,有些带有边和节点,等等。还有一些变体,我正在阅读的一个网站声称,节点不需要指向其父节点的指针,而其他地方则不考虑如何管理节点的子节点。
我的想法是使用一个具有int start和int*end(指向当前结束或阶段i)的Node结构。每个节点都有一个后缀链接指针、一个指向其父节点的指针和一个指向包含其子节点的向量的指针。
我的问题是,这些东西对于实现后缀树来说足够和必要吗?我能以任何方式将其最小化吗?我还没有看到在矢量中实现儿童,所以我对自己的想法持怀疑态度。有人能解释一下只使用节点以这种方式实现后缀树需要什么吗?
以下内容可能会有所帮助:
Ukkonen的后缀树构造
这里有
1.开始,结束表示边缘标签
2.后缀链接
3.用于子的数组
当我必须实现该算法时,解释得更好的文档是原始的Ukkonen论文,还有一篇更新的图像文档。
是的,在这个文件里面都实现了Ukkonen的后缀树算法。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 警告处理为错误这里有什么问题
- 什么时候调用组成单元对象的析构函数
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 什么时候在C++中返回常量引用是个好主意
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- C++避免重复声明的语法是什么
- c++库的公共头文件中应该包含什么
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 增量运算符与后缀混淆
- 有什么方法可以遍历结构吗
- 在一行C 中,该代码后缀和前缀的输出的逻辑是什么
- 长双文字的C++后缀是什么?
- 这个后缀转换 C++ 代码的中缀有什么问题
- .cc和.cpp文件后缀有什么区别
- Ukkonen的后缀树算法,有什么必要?
- 整数后缀J是什么意思
- 以下代码片段中 push(po[i]-'0') 对评估后缀表达式的重要性是什么