Fig 1.
Trie, Double Trie, MergedTrie, and DAWG/ADFA formed by 19 words: h, hat, halt, han, heat, het, main, malt, man, mat, met, meat, mean, melt, min, taam, taem, tlam, tlem.
Fig 2.
Sequential and graphical representations of the MergedTrie with the words h, hax, max (lt: letter; dsc: descendant index; IT: inter-trie index; pt: index of the parent node; nh: index of the following hash collision; dir: IT index to suffix letter-node; B: size of hash table of letter-nodes; BIT: size of hash table of IT links; root of T: 1).
Table 1.
C++ bit fields used in the MergedTrie implementation.
Fig 3.
Sequential and graphical representations of the MergedTrie in Fig 2 after deleting the word h and running the compaction operation.
Words hax and max. (lt: letter; dsc: descendant index; IT: inter-trie index; pt: index of the parent node; nh: index of the following hash collision; dir: IT index to suffix letter-node; B: size of hash table of letter-nodes; BIT: size of hash table of IT links; root of T: 1).
Table 2.
Max. memory usage (kB) with both corpora: TREC+ (7,184,348 words) and Google1Grams (58,654,411 words).
Table 3.
Times in seconds in experiment 2 with TREC+ corpora (7,184,348 words).
Table 4.
Times in seconds in experiment 2 with Google1Grams corpora (58,654,411 words).