
related topics 
{math, number, function} 
{language, word, form} 
{system, computer, user} 
{woman, child, man} 
{style, bgcolor, rowspan} 
{group, member, jewish} 

In computer science, a trie, or prefix tree, is an ordered tree data structure that is used to store an associative array where the keys are usually strings. Unlike a binary search tree, no node in the tree stores the key associated with that node; instead, its position in the tree shows what key it is associated with. All the descendants of a node have a common prefix of the string associated with that node, and the root is associated with the empty string. Values are normally not associated with every node, only with leaves and some inner nodes that correspond to keys of interest.
The term trie comes from "retrieval." Following the etymology, the inventor, Edward Fredkin, pronounces it /ˈtriː/ "tree".^{[1]}^{[2]} However, it is pronounced /ˈtraɪ/ "try" by other authors.^{[1]}^{[2]}^{[3]}
In the example shown, keys are listed in the nodes and values below them. Each complete English word has an arbitrary integer value associated with it. A trie can be seen as a deterministic finite automaton, although the symbol on each edge is often implicit in the order of the branches.
It is not necessary for keys to be explicitly stored in nodes. (In the figure, words are shown only to illustrate how the trie works.)
Though it is most common, tries need not be keyed by character strings. The same algorithms can easily be adapted to serve similar functions of ordered lists of any construct, e.g., permutations on a list of digits or shapes. In particular, a bitwise trie is keyed on the individual bits making up a short, fixed size of bits such as an integer number or pointer to memory.
Contents
Full article ▸


related documents 
ML (programming language) 
MerkleHellman 
Boolean ring 
Definable real number 
Generalized mean 
Chain rule 
Base (topology) 
Preorder 
Presburger arithmetic 
Idempotence 
Ring (mathematics) 
Assignment problem 
Monster group 
Outer product 
Pigeonhole principle 
Oracle machine 
Richard's paradox 
Extended real number line 
2 (number) 
Meromorphic function 
Splitting lemma 
Queue (data structure) 
Haar measure 
Unicity distance 
XSL Transformations 
Riemann mapping theorem 
Axiom of pairing 
Btree 
Mathematical model 
Legendre symbol 
