×

参数化模式匹配:算法和应用。 (英语) Zbl 0849.68019号

摘要:查找相同或通过变量或常量的系统重命名相关的代码段的问题可以根据参数化字符串(\(p\)-strings)和参数化匹配(\(p \)-matches)进行建模\(P \)-字符串是两个字母上的字符串,其中一个代表参数。如果通过一对一函数重命名另一个字符串的参数来获得一个字符串,则两个字符串是参数化匹配((p\)-match)。
在本文中,我们通过参数化后缀树(\(p\)-后缀树)来研究参数化模式匹配。我们给出了两种构造(p)后缀树的算法:一种是对固定字母表以线性时间运行的(eager)算法,另一种是使用辅助数据结构并对可变字母表以(O(n(n))时间运行的算法,其中,(n)是输入长度。我们表明,对于固定字母表,使用模式\(p\)-string \(p\)的后缀树,可以在文本\(p~)-string\(T\)的空间线性in \(|p|\)和时间线性in \是字母表大小的总和。实现了simpler-后缀树构造算法eager,实验表明该算法是可行的。由于它的运行速度比上述最坏情况边界预测的更快,我们重新分析了该算法,并证明了急切的运行时间为(O(\min(t|S|+m(t,S)|t>0)\log\sigma),其中对于输入\(p\)-string\(S\),\(m(t、S)\)是在\(S~)和\(\sigma \)中发生的长度至少为\(t)的最大\(p~)-匹配的数量是字母表大小的总和。用作者的程序dup[Comput.Sci.Statist.24,49-57(1992)]在一个\(p\)-string中寻找所有最大\(p~)-匹配的实验发现,除非\(t\)很小,否则实际上\(m(t,s)\小于\(|s|\)。

MSC公司:

68页第10页 搜索和排序
68宽10 计算机科学中的并行算法
68第05页 数据结构
PDF格式BibTeX公司 XML格式引用
全文: 内政部