triun/最长公共子序列

PHP 实现的解决 '最长公共子序列' 问题算法。

1.1.0 2018-05-10 12:40 UTC

This package is auto-updated.

Last update: 2024-09-17 22:06:33 UTC


README

PHP 实现的解决 最长公共子序列 问题算法。

Latest Version on Packagist Build Status Coverage status Total Downloads The most recent stable version is 2.0.0 Software License

关于

PHP-Longest-Common-Subsequence 是一个 PHP 实现的解决 '最长公共子序列' 问题算法。

来自 维基百科 - 最长公共子序列问题

最长公共子序列(LCS)问题是指在一个序列集合中(通常只有两个序列)找到所有序列的公共子序列中最长的序列的问题。它与 最长公共子串问题 不同:与子串不同,子序列不需要在原始序列中占用连续的位置。最长公共子序列问题是一个经典的 计算机科学 问题,是 数据比较 程序(如 diff 工具)的基础,并在 生物信息学 中有应用。它也被 版本控制系统(如 Git)广泛使用,用于 合并 对受控文件集进行的多个更改。

这个 PHP 实现基于 eloquent/php-lcs,增加了一些灵活性,以便处理不仅是公共文本,还包括差异。

安装

使用以下命令通过 triun/longest-common-subsequence 包composer 安装

composer require triun/longest-common-subsequence

用法

use Triun\LongestCommonSubsequence\Solver;

$solver = new Solver;

$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->solve($sequenceA, $sequenceB);

问题

可以在 Github Issue Tracker 上提交错误报告和功能请求。

贡献

有关信息,请参阅 CONTRIBUTING.md

许可

此存储库是开源软件,受 MIT 许可 许可。