23、文本LPF表计算与k - 树距离分布研究

文本LPF表计算与k - 树距离分布研究

在文本处理和图论研究中,有两个重要的问题值得深入探讨,一是文本最长前因子(LPF)表的计算,二是k - 树中顶点间距离的分布。下面将详细介绍这两方面的内容。

文本LPF表的时间 - 空间最优实现

在计算文本的LPF表时,可以通过一种策略实现仅使用常数额外内存空间,除了文本的后缀数组和LPF表本身。这一策略基于前面提到的栈大小为$O(\sqrt{n})$的特性,使得在LPF表的大部分空间内实现栈操作成为可能。

LPF - optimal算法

该算法的核心步骤如下:

def LPF - optimal(SUF, LCP, n):
    # 假设n >= 8
    K = int(n - 2 * (2 * n) ** 0.5)
    # 接下来三个过程共享同一个LPF表
    LPF_on_line(SUF, LCP, K)
    LPF_naive(SUF, LCP, K, n)
    LPF_anchored(SUF, LCP, K, n)
    return LPF
  • 参数K的选择 :参数K的选择是为了在LPF数组中留出足够的空间来实现LPF - on - line算法使用的栈。虽然这里没有动态选择K,但实际上可以在LPF - on - line算法执行过程中动态设置K为$n - 2k - 1$,其中k是执行第15行之前栈的大小。这样做可以减少实际运行时间,但不影响其渐近复杂度。
  • LPF
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值