Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I use a trie that has a whole word on each node?

I want to implement a trie to check for the validity of paths, so I would have a tree built that contains all the possible path constructions by breaking it down by directory. So something like /guest/friendsList/search would go from the root node to it's child guest, then guest's child friendsList, and then friendsList's child search. If search is a leaf node then my string /guest/friendsList/search would be considered valid.

Is this something a trie would be useful for. All the implementations of tries I've seen deal with individual letters at each node, but can they be whole strings instead? Is a trie specific to this kind of implementation and what I'm trying to do just a basic tree?

Thanks!

like image 523
zulusam Avatar asked Nov 15 '25 22:11

zulusam


1 Answers

You can absolutely do this, though I'd typically call this a directory tree rather than a trie since you're essentially modeling the file system as a tree structure rather than storing lots of prefixes of different strings. In fact, the OS probably has a similar data structure on disk for representing the file system!

like image 59
templatetypedef Avatar answered Nov 18 '25 17:11

templatetypedef