The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Variations on the Common Subexpression Problem
Journal of the ACM (JACM)
Perfect hashing functions: a single probe retrieving method for static sets
Communications of the ACM
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Optimization of parser tables for portable compilers
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Storing a Sparse Table with 0(1) Worst Case Access Time
Journal of the ACM (JACM)
Circuit Simulation on Shared-Memory Multiprocessors
IEEE Transactions on Computers
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
An Efficient Implementation of Static String Pattern Matching Machines
IEEE Transactions on Software Engineering
On aspects of university and performance for closed hashing
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Efficient sparse matrix factorization for circuit simulation on vector supercomputers
DAC '89 Proceedings of the 26th ACM/IEEE Design Automation Conference
Storing a tree structure by using decimal notation
ACM SIGIR Forum
An Efficient Digital Search Algorithm by Using a Double-Array Structure
IEEE Transactions on Software Engineering
Faster algorithms for the shortest path problem
Journal of the ACM (JACM)
Table compression for tree automata
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of the ACM (JACM)
Reinventing the wheel: an optimal data structure for connectivity queries
STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing
Deterministic part-of-speech tagging with finite-state transducers
Computational Linguistics
Minimizing row displacement dispatch tables
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Error correcting codes, perfect hashing circuits, and deterministic dynamic dictionaries
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
Variations on the Common Subexpression Problem
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Faster deterministic dictionaries
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
Generation of LR parsers by partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Succinct indexable dictionaries with applications to encoding k-ary trees and multisets
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
On the space requirements of navigational relationship representations
SIGMOD '81 Proceedings of the 1981 ACM SIGMOD international conference on Management of data
Using Tries to Eliminate Pattern Collisions in Perfect Hashing
IEEE Transactions on Knowledge and Data Engineering
A Trie Compaction Algorithm for a Large Set of Keys
IEEE Transactions on Knowledge and Data Engineering
Time-Space Trade-Off Analysis of Morphic Trie Images
IEEE Transactions on Knowledge and Data Engineering
A New Compression Method with Fast Searching on Large Databases
VLDB '87 Proceedings of the 13th International Conference on Very Large Data Bases
Hash and Displace: Efficient Evaluation of Minimal Perfect Hash Functions
WADS '99 Proceedings of the 6th International Workshop on Algorithms and Data Structures
Low Redundancy in Static Dictionaries with O(1) Worst Case Lookup Time
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Compressed Storage of Sparse Finite-State Transducers
WIA '99 Revised Papers from the 4th International Workshop on Automata Implementation
Experiments with Automata Compression
CIAA '00 Revised Papers from the 5th International Conference on Implementation and Application of Automata
Finite Automata for Compact Representation of Language Models in NLP
CIAA '01 Revised Papers from the 6th International Conference on Implementation and Application of Automata
Simple Minimal Perfect Hashing in Less Space
ESA '01 Proceedings of the 9th Annual European Symposium on Algorithms
Finite automata for compact representation of tuple dictionaries
Theoretical Computer Science - Implementation and application automata
New text indexing functionalities of the compressed suffix arrays
Journal of Algorithms
Compact name-independent routing with minimum stretch
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
A compression algorithm using integrated record information for translation dictionaries
Information Sciences—Informatics and Computer Science: An International Journal - Special issue: Informatics and computer science intelligent systems applications
Efficient implementation of Aho–Corasick pattern matching automata using Unicode
Software—Practice & Experience
A compression technique for large statistical data-bases
VLDB '81 Proceedings of the seventh international conference on Very Large Data Bases - Volume 7
Efficient access of compressed data
VLDB '80 Proceedings of the sixth international conference on Very Large Data Bases - Volume 6
Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets
ACM Transactions on Algorithms (TALG)
Biosequence Similarity Search on the Mercury System
Journal of VLSI Signal Processing Systems
Uniform deterministic dictionaries
ACM Transactions on Algorithms (TALG)
Compact name-independent routing with minimum stretch
ACM Transactions on Algorithms (TALG)
Perfect hashing as an almost perfect subtype test
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Table Compression Method for Extended Aho-Corasick Automaton
CIAA '09 Proceedings of the 14th International Conference on Implementation and Application of Automata
Flash memory efficient LTL model checking
Science of Computer Programming
Efficient matrix-encoded grammars and low latency parallelization strategies for CYK
IWPT '11 Proceedings of the 12th International Conference on Parsing Technologies
Smaller representation of finite state automata
Theoretical Computer Science
WABI'12 Proceedings of the 12th international conference on Algorithms in Bioinformatics
HDLBR: A name-independent compact routing scheme for power-law networks
Computer Communications
An architecture for IPv6 lookup using parallel index generation units
ARC'13 Proceedings of the 9th international conference on Reconfigurable Computing: architectures, tools, and applications
Wire speed name lookup: a GPU-based approach
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Row-shift decompositions for index generation functions
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
Hi-index | 48.23 |
The problem of storing and searching large sparse tables is ubiquitous in computer science. The standard technique for storing such tables is hashing, but hashing has poor worst-case performance. We propose a good worst-case method for storing a static table of n entries, each an integer between 0 and N - 1. The method requires O(n) words of storage and allows O(logn N) access time. Although our method is a little complicated to use in practice, our analysis shows why a simpler algorithm used for compressing LR parsing tables works so well.