eloquent / lcs
此包已被废弃且不再维护。未建议任何替代包。
PHP实现的'最长公共子序列'算法。
2.0.0
2014-02-17 06:24 UTC
Requires
- php: >=5.3
Requires (Dev)
- icecave/archer: ~1
This package is auto-updated.
Last update: 2023-08-08 04:19:24 UTC
README
不再维护
此包不再维护。有关更多信息,请参阅此声明。
PHP-LCS
PHP实现的'最长公共子序列'算法。
安装和文档
- 作为 Composer 包 eloquent/lcs 提供。
- 提供API文档。
PHP-LCS是什么?
PHP-LCS 是一个PHP实现,用于解决'最长公共子序列'问题。
**最长公共子序列(LCS)问题** 是寻找一组序列(通常是两个)中所有序列共有的最长**子序列**。请注意,子序列与子串不同,请参阅 子串与子序列。这是一个经典的**计算机科学**问题,是**文件比较**程序(如 diff)的基础,并在**生物信息学**中有应用。
用法
use Eloquent\Lcs\LcsSolver; $solver = new LcsSolver; $sequenceA = array('B', 'A', 'N', 'A', 'N', 'A'); $sequenceB = array('A', 'T', 'A', 'N', 'A'); // calculates the LCS to be array('A', 'A', 'N', 'A') $lcs = $solver->longestCommonSubsequence($sequenceA, $sequenceB);
序列中的元素可以是任何东西。默认情况下,使用 ===
操作符比较序列成员。要自定义此比较,只需使用自定义比较器构造解算器,如下所示
use Eloquent\Lcs\LcsSolver; $solver = new LcsSolver( function ($left, $right) { // return true if $left and $right are equal } );