The sample solution code is here. The solution was updated in Feb 2004 to correct a programming error. The output from the updated sample solution appears below:
SuffixTree for mississippi$:
.$ 11
.i.$ 10
.i.ppi$ 7
.i.ssi.ppi$ 4
.i.ssi.ssippi$ 1
.mississippi$ 0
.p.i$ 9
.p.pi$ 8
.s.i.ppi$ 6
.s.i.ssippi$ 3
.s.si.ppi$ 5
.s.si.ssippi$ 2
'miss' occurs at {0}
'is' occurs at {4,1}
'i' occurs at {10,7,4,1}
The longest prefix of 'issue' occurs at {4,1}
SuffixTree for mississippi$missouri$:
.$ 20,11
.i.$ 19,10
.i.ppi$ 7
.i.ss.i.ppi$ 4
.i.ss.i.ssippi$ 1
.i.ss.ouri$ 13
.miss.issippi$ 0
.miss.ouri$ 12
.ouri$ 16
.p.i$ 9
.p.pi$ 8
.ri$ 18
.s.i.ppi$ 6
.s.i.ssippi$ 3
.s.ouri$ 15
.s.s.i.ppi$ 5
.s.s.i.ssippi$ 2
.s.s.ouri$ 14
.uri$ 17
'miss' occurs at {0,12}
'is' occurs at {4,1,13}
'i' occurs at {19,10,7,4,1,13}
The longest prefix of 'issue' occurs at {4,1,13}
SuffixTree for indiana$louisiana$:
.$ 17,7
.a.$ 16,6
.a.na$ 14,4
.diana$ 2
.i.ana$ 13,3
.i.ndiana$ 0
.i.siana$ 11
.louisiana$ 8
.n.a$ 15,5
.n.diana$ 1
.ouisiana$ 9
.siana$ 12
.uisiana$ 10
'miss' occurs at {}
'is' occurs at {11}
'i' occurs at {13,3,0,11}
The longest prefix of 'issue' occurs at {11}
SuffixTree for data$structures$and$algorithms$sure$are$fun$:
.$ 43,39,35,30,19,15,4
.a.$ 3
.a.lgorithms$ 20
.a.nd$ 16
.a.re$ 36
.a.ta$ 1
.ctures$ 9
.d.$ 18
.d.ata$ 0
.e.$ 38,34
.e.s$ 13
.fun$ 40
.gorithms$ 22
.hms$ 27
.ithms$ 25
.lgorithms$ 21
.ms$ 28
.n.$ 42
.n.d$ 17
.orithms$ 23
.r.e.$ 37,33
.r.e.s$ 12
.r.ithms$ 24
.r.uctures$ 7
.s.$ 29,14
.s.tructures$ 5
.s.ure$ 31
.t.a$ 2
.t.hms$ 26
.t.ructures$ 6
.t.ures$ 10
.u.ctures$ 8
.u.n$ 41
.u.re.$ 32
.u.re.s$ 11
'miss' occurs at {}
'is' occurs at {}
'i' occurs at {25}
The longest prefix of 'issue' occurs at {25}