Skip to content

A C implementation of Ukkonen's suffix tree-building algorithm, with test suite and tree print.

License

Notifications You must be signed in to change notification settings

alfredma/ukkonen-suffixtree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a basic implementation in C of Esko Ukkonen's online suffix tree building algorithm. It is intended as a teaching tool, since I have found that there are plenty of mathematical explanations of how the algorithm is truly linear and also plenty of implementations that are poorly written and hard to follow. From either source it is hard to work out exactly how to implement the algorithm. There is a full description of the code and the algorithm (minus the math) on http://programmerspatch.blogspot.com.au/2013/02/ukkonens-suffix-tree-algorithm.html. As explained there the tree.c file can be replaced by a faster implementation, e.g. one that uses small hash tables for large nodes. The supplied implementation uses linked lists which is adequate for testing and demonstration purposes.

About

A C implementation of Ukkonen's suffix tree-building algorithm, with test suite and tree print.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 70.6%
  • C++ 18.3%
  • Makefile 8.7%
  • Shell 1.7%
  • Gnuplot 0.7%