This package provides a PLT Scheme module for constructing suffix trees using Ukkonen's algorithm. I've been fiddling with them for a while now, but I'd never coded an implementation from scratch, so here's my contribution.
> (require (planet "suffixtree.ss" ("dyoo" "suffixtree.plt" 1))) > (define my-tree (make-tree)) > (tree-add! my-tree (string->label "supercalifragilisticexpialidocious")) > (tree-contains? my-tree (string->label "frag")) #t > (tree-contains? my-tree (string->label "ice")) #t > (tree-contains? my-tree (string->label "ice cream")) #f
Available here.
This package is available from PLaneT. BSD license.
Back to PLT.