In computer science, a radix tree (also radix trie or compact prefix tree or compressed trie) is a data structure that represents a space-optimized trie (prefix tree) in which each node that is the only child is merged with its parent. The result is that the number of children of every internal node is at most the radix r of the radix tree, where r = 2x for some integer x ≥ 1. Unlike regular trees, edges can be labeled with sequences of elements as well as single elements. This makes radix trees much more efficient for small sets (especially if the strings are long) and for sets of strings that share long prefixes.
Unlike regular trees (where whole keys are compared en masse from their beginning up to the point of inequality), the key at each node is compared chunk-of-bits by chunk-of-bits, where the quantity of bits in that chunk at that node is the radix r of the radix trie. When r is 2, the radix trie is binary (i.e., compare that node's 1-bit portion of the key), which minimizes sparseness at the expense of maximizing trie depth—i.e., maximizing up to conflation of nondiverging bit-strings in the key. When r ≥ 4 is a power of 2, then the radix trie is an r-ary trie, which lessens the depth of the radix trie at the expense of potential sparseness.
As an optimization, edge labels can be stored in constant size by using two pointers to a string (for the first and last elements).[1]
Note that although the examples in this article show strings as sequences of characters, the type of the string elements can be chosen arbitrarily; for example, as a bit or byte of the string representation when using multibyte character encodings or Unicode.
^Morin, Patrick. "Data Structures for Strings" (PDF). Retrieved 15 April 2012.
its prefix can be accomplished in a memory-optimized way by employing a radixtree. Though tries can be keyed by character strings, they need not be. The...
radix sort is a non-comparative sorting algorithm. It avoids comparison by creating and distributing elements into buckets according to their radix....
splitting, binary tries and radixtrees for random data, and trees of variable size generated by branching processes. For random trees that are not necessarily...
each tree node compares a bit slice of key values. Radixtree Suffix tree Suffix array Compressed suffix array FM-index Generalised suffix tree B-tree Judy...
Judy arrays are highly optimized 256-ary radixtrees. Judy trees are usually faster than AVL trees, B-trees, hash tables and skip lists because they are...
binary search trees or in data structures specialized to a particular type of keys such as radixtrees, tries, Judy arrays, or van Emde Boas trees, though the...
hashed page tables have a no-execute page bit. Page table entries for radix-tree page tables in the Power ISA have separate permission bits granting read/write...
the server very fast, notably Read-copy-update or a special kind of a radixtree. Knot DNS uses a zone parser written in Ragel to achieve very fast loading...
Lymnaeidae. Radix auricularia is the type species of the genus Radix. Forms of Radix auricularia include: Radix auricularia f. tumida (Held, 1836) Radix auricularia...
also further subdivided into a ternary structure, as follows: humilitas radix virtutum I. prudentia (seven sub-virtues) II. fortitudo (seven sub-virtues)...
problems with polynomially sized BDDs[citation needed] Model checking Radixtree Barrington's theorem Hardware acceleration Karnaugh map, a method of simplifying...
of Binary Search Tree Data Structures (pages 67–75) – comparison of AA trees, red–black trees, treaps, skip lists, and radixtrees An Objective-C implementation...
userland for these platforms are all built from a central unified source-code tree managed by CVS. Currently, unlike other kernels such as μClinux, the NetBSD...
optimized for IP addresses, emerged. They include: Binary treeRadixtree Four-way trie Patricia tree A multicore CPU architecture is commonly used to implement...
through the use of an indexed lookup method, which uses a constructed radixtree. This is not an often-taken route because it breaks down for morphologically...
In mathematics and computer science, optimal radix choice is the problem of choosing the base, or radix, that is best suited for representing numbers....
"Trees I: Radixtrees [LWN.net]". lwn.net. Archived from the original on 8 November 2020. Retrieved 13 November 2020. "Trees II: red-black trees [LWN...
the LSD radix sort requires the use of a stable sort, the MSD radix sort algorithm does not (unless stable sorting is desired). In-place MSD radix sort is...
relatively useless bits but quick radix sort will avoid the worst case O(N2) behaviours of standard quicksort and radix quicksort, and will be faster even...