转:Suffix Tree—后缀树

转:http://www.cppblog.com/yuyang7/archive/2009/03/29/78252.html

Suffix tree—后缀树

l 简介

后缀树是一种PAT树,它描述了给定字符串的所有后缀,许多重要的字符串操作都能够在后缀树上快速地实现。

l 定义

一个长度为n的字符串S,它的后缀树定义为一棵满足如下条件的树:

n 从根到树叶的路径与S的后缀一一对应。即每条路径惟一代表了S的一个后缀;

n 每条边都代表一个非空的字符串;

n 所有内部节点(根节点除外)都有至少两个子节点。

由于并非所有的字符串都存在这样的树,因此S通常使用一个终止符号进行填充(通常使用$)。

l 优点

n 匹配快。对于长度为m的模式串,只需花费至多O(m)的时间进行匹配。

n 空间省。Suffix tree的空间耗费要低于Suffix trie,因为Suffix tree除根节点外不允许其内部节点只含单个子节点,因此它是Suffix trie的压缩表示。



 

--------------------------------------------------------------------------------------------------------

其他一些介绍:

http://hi.baidu.com/zhizhesky/blog/item/40b5b81bf8dbb0098718bf26.html
http://hi.baidu.com/sophiaandphilem/blog/item/ad1d6d06b93aa87f020881ae.html
http://www.allisons.org/ll/AlgDS/Tree/Suffix/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值