27 lines
1 KiB
XML
27 lines
1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
<pkgmetadata>
|
|
<maintainer type="project">
|
|
<email>haskell@gentoo.org</email>
|
|
<name>Gentoo Haskell</name>
|
|
</maintainer>
|
|
<longdescription>
|
|
Provides a function lcs that takes two lists and returns a longest
|
|
common sublist. For example, lcs "abcd" "acbd" is either "abd" or
|
|
"acd".
|
|
|
|
The package provides a simple, stupid and (most of all) slow
|
|
implementation that needs, for inputs of length m and n, O(m+n)
|
|
space and O((m+n)!) time in the worst case.
|
|
|
|
It also provides an implementation of the Hunt-Szymanski LCS
|
|
algorithm, based on that in "String searching algorithms" by
|
|
Graham A Stephen, ISBN 981021829X.
|
|
|
|
Given inputs xs and ys of length m and n respectively, where there
|
|
are r pairs (x, y) where x is in xs, y is in ys and x == y,
|
|
Hunt-Szymanski needs O(r+m+n) space and O((r+m+n)*log(m+n)) time.
|
|
Thus this is O((m+n)^2) space and O((m+n)^2*log(m+n)) time in the
|
|
worst case.
|
|
</longdescription>
|
|
</pkgmetadata>
|