CEditDist Abstract Template Class
for Edit Distance Calculation on Generic Data Types

Zvika Ben-Haim
zvikabh@aluf.technion.ac.il
http://www.technion.ac.il/~zvikabh/software
June 1999


Purpose
	The CEditDist class performs edit distance calculations on
abstract data types. The edit distance is defined as the minimum cost
required to convert one string into another, where the conversion can
include the following three operations:
   changing one character to another
   deleting one character
   inserting one character
This algorithm is useful for finding the degree of similarily between
strings, when character omissions and duplications may occur. The term
character is used loosely here, since the template mechanism allows
you to implement the class for any data type, including user-defined
types. The cost of each of these operations is an integer defined by
the user and can depend on the characters being changed.
	The operation performs in O(nm) space and time, where n and m
are the lengths of the two compared strings. Specifically, an array of
n by m integers is dynamically allocated for the operation, and
deallocated automatically.

System Requirements
	CEditDist was tested with Visual C++ 5.0, but contains only
standard C++ commands, and thus should functions correctly under other
standard C++ compilers as well.
	Please note that under Visual C++ 5.0, an apparent bug causes
warning messages when explicitly instantiating the base class. These
warning messages can be safely ignored.
