The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Perfect hashing functions: a single probe retrieving method for static sets
Communications of the ACM
Communications of the ACM
An Efficient Digital Search Algorithm by Using a Double-Array Structure
IEEE Transactions on Software Engineering
A compendium of key search references
ACM SIGIR Forum
Arithmetic Interpolation Search for Alphabet Tables
IEEE Transactions on Computers
Techniques for automatically correcting words in text
ACM Computing Surveys (CSUR)
Adaptive post-processing of OCR text via knowledge acquisition
CSC '91 Proceedings of the 19th annual conference on Computer Science
Compact Encodings of List Structure
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Minimal perfect hash functions made simple
Communications of the ACM
Computer programs for detecting and correcting spelling errors
Communications of the ACM
Minimal perfect hash functions for reserved word lists
ACM SIGPLAN Notices
Thresholds and optimal binary comparison search trees
Journal of Algorithms
Thresholds and Optimal Binary Comparison Search Trees
FST TCS '01 Proceedings of the 21st Conference on Foundations of Software Technology and Theoretical Computer Science
An index organization for applications with highly skewed access patterns
ICSE '81 Proceedings of the 5th international conference on Software engineering
Hi-index | 48.25 |
Split trees are a new technique for searching sets of keys with highly skewed frequency distributions. A split tree is a binary search tree each node of which contains two key values—a node value which is a maximally frequent key in that subtree, and a split value which partitions the remaining keys (with respect to their lexical ordering) between the left and right subtrees. A median split tree (MST) uses the lexical median of a node's descendents as its split value to force the search tree to be perfectly balanced, achieving both a space efficient representation of the tree and high search speed. Unlike frequency ordered binary search trees, the cost of a successful search of an MST is log n bounded and very stable around minimal values. Further, an MST can be built for a given key ordering and set of frequencies in time n log n, as opposed to n2 for an optimum binary search tree. A discussion of the application of MST's to dictionary lookup for English is presented, and the performance obtained is contrasted with that of other techniques.