Method for storing a tree of potential keys in a sparse table
First Claim
1. A computer implemented method for searching for a key in a table, where the sparse table of potential keys is organized as a tree in a memory of a computer system, comprising:
- a) receiving a key;
b) dividing the key into a string of n symbols;
c) searching the tree for the string of n symbols, comprising;
i) comparing a first symbol in the string of n symbols with an existence map associated with a root node in the tree;
ii) traversing the tree to a son node in the tree pointed to by an entry in the root node corresponding to the first symbol if the existence map associated with the root node indicates the entry exists;
iii) comparing a next symbol in the string of n symbols with an existence map associated with the son node in the tree;
iv) traversing the tree to a subsequent son node in the tree pointed to by an entry in the son node corresponding to the next symbol if the existence map associated with the son node indicates the entry exists;
v) repeating steps iii and iv until the comparison fails or the next symbol is the last symbol in the string of symbols.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented method for searching for a key in a radix search tree in a memory of a computer system. A table of keys is organized in a radix search tree stored in a memory of a computer system. The keys are divided into a string of symbols. Each node in the tree corresponds to a symbol. A path from a root node to a leaf node at level n in the tree represents a string of n symbols comprising a key. Each node is capable of having m possible entries corresponding to m possible symbol values. Each entry comprises a pointer to a son node and an existence map indicating which entries exist in the son node. In the preferred embodiment, the existence map is a bit mask that indicates, based on bit positions enabled and disabled in the bit mask, which entries exist in the son node pointed to by the pointer. By providing an existence map along with the pointer to a son node, m memory locations for m entries are allocated for the son node only if all of the m possible entries are used. Memory locations for entries that would otherwise be empty are not allocated, thereby minimizing memory resources required by a radix search tree.
97 Citations
7 Claims
-
1. A computer implemented method for searching for a key in a table, where the sparse table of potential keys is organized as a tree in a memory of a computer system, comprising:
-
a) receiving a key; b) dividing the key into a string of n symbols; c) searching the tree for the string of n symbols, comprising; i) comparing a first symbol in the string of n symbols with an existence map associated with a root node in the tree; ii) traversing the tree to a son node in the tree pointed to by an entry in the root node corresponding to the first symbol if the existence map associated with the root node indicates the entry exists; iii) comparing a next symbol in the string of n symbols with an existence map associated with the son node in the tree; iv) traversing the tree to a subsequent son node in the tree pointed to by an entry in the son node corresponding to the next symbol if the existence map associated with the son node indicates the entry exists; v) repeating steps iii and iv until the comparison fails or the next symbol is the last symbol in the string of symbols. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification