Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2011-05

Suffix Trie implementation, please review

3 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

leledumbo

I've written a unit containing suffix trie implementation. It could be used for: fast string existence search (could be extended with other information if required), though takes quite a lot of spaces (O(n^2) for a string where n is the string length, but grow slower as more strings get added), the existence search have O(m) complexity where m is the string to search for. This string to search for could be exact or a substring of previously added strings.

Please have a look and try it (a test program is included), open for suggestions or whatever you want to say.

View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Suffix-Trie-implementation-please-review-tp4422708p4422708.html Sent from the Free Pascal - General mailing list .
Flávio Etrusco
to leledumbo

I guess you forgot the attachment? ;-)
BTW, do you know the hashtrie component?
http://www.softcomplete.com/hashtrie.asp

Best regards,
Flávio

leledumbo wrote 13 lines
I've written a unit containing suffix trie implementation. It could be used for: fast string existence search (could be extended with other information if required), though takes quite a lot of spaces (O(n^2) for a string where n is the string length, but grow slower as more strings get added), the existence search have O(m) complexity where m is the string to search for. This string to search for could be exact or a substring of previously added strings. Please have a look and try it (a test program is included), open for suggestions or whatever you want to say. --
leledumbo
to Flávio Etrusco
I guess you forgot the attachment?

My bad... well it was midnight here ;)
There you go:
http://free-pascal-general.1045716.n5.nabble.com/file/n4425751/suffixtrie.zip suffixtrie.zip

BTW, do you know the hashtrie component?

Only ever heard of, never know the details. Thanks, this could be a lesson to learn.
The improvement over hashtable seems to be in the lookup, so it still uses hashing to generate initial index which in simple case, like in the page you point, operates on the whole string (i.e. O(n)). The lookup would take additional processing. Anyway, it's not really comparable to suffix tries. Instead, it's comparable to (prefix) tries. For lookup and update, tries should perform better. But the disadvantage is that no item may get out once it gets in (at least not so easy).

View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Suffix-Trie-implementation-please-review-tp4422708p4425751.html Sent from the Free Pascal - General mailing list .