blob: fa121ce23df5133b8954cb08b08c22a004fb6608 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>haskell</herd>
<longdescription>
Provides a function lcs that takes two lists and returns a longest
common sublist. For example, lcs &quot;abcd&quot; &quot;acbd&quot; is either &quot;abd&quot; or
&quot;acd&quot;.
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 &quot;String searching algorithms&quot; 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>