eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Diff2::MyersUkkonen':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: MyersUkkonen (private in Diff2

This class is only visible from within Diff2.

Inheritance:

   Object
   |
   +--Diff2
      |
      +--Diff2::MyersUkkonen

Package:
stx:libtool
Category:
Collections-Sequenceable-Diff
Owner:
Diff2
Author:
Tony Garnock-Jones <tonyg@lshift.com>

Description:


I implement a modified version of Myers' greedy lcs algorithm described in http://xmailserver.org/diff2.pdf. 
A similar version written in C can be found here http://research.janelia.org/myers/Papers/file.comparison.pdf. 
Ukkonen's version can be found here http://www.cs.helsinki.fi/u/ukkonen/InfCont85.PDF.


[instance variables:]

[class variables:]


Related information:



Instance protocol:

accessing
o  emptyCaches

diffing
o  longestCommonSubsequence

private
o  calculateLcs
I find one of the longest common subsequences of my the arguments. I assume that none of my arguments are empty. I return nil or an Array which represents a list. The first two elements are the matching line numbers, the last is the next node in the list or nil if there are no more elements. The list containts the longest common subsequence. I'm a modified version of the greedy lcs algorithm from the 6th page of 'An O(ND) Difference Algorithm and Its Variations (1986)' by Eugene W. Myers



ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Tue, 28 Mar 2023 05:54:23 GMT