Storing a Sparse Table with 0(1) Worst Case Access Time
Journal of the ACM (JACM)
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Hash functions for priority queues
Information and Control
Optimal bounds for decision problems on the CRCW PRAM
Journal of the ACM (JACM)
The cell probe complexity of dynamic data structures
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Bounded ordered dictionaries in O(loglogN) time and O(n) space
Information Processing Letters
The C programming language
Surpassing the information theoretic bound with fusion trees
Journal of Computer and System Sciences - Special issue: papers from the 22nd ACM symposium on the theory of computing, May 14–16, 1990
Trans-dichotomous algorithms for minimum spanning trees and shortest paths
Journal of Computer and System Sciences - Special issue: 31st IEEE conference on foundations of computer science, Oct. 22–24, 1990
When can we sort in o(nlogn) time?
Journal of Computer and System Sciences - Special issue: papers from the 32nd and 34th annual symposia on foundations of computer science, Oct. 2–4, 1991 and Nov. 3–5, 1993
Improved parallel integer sorting without concurrent writing
Information and Computation
Journal of Computer and System Sciences
Fusion trees can be implemented with AC0 instructions only
Theoretical Computer Science
Optimal bounds for the predecessor problem
STOC '99 Proceedings of the thirty-first annual ACM symposium on Theory of computing
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
Faster deterministic sorting and priority queues in linear space
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
Undirected single-source shortest paths with positive integer weights in linear time
Journal of the ACM (JACM)
SIAM Journal on Computing
Tight(er) worst-case bounds on dynamic searching and priority queues
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
A minimum spanning tree algorithm with inverse-Ackermann type complexity
Journal of the ACM (JACM)
Worst case constant time priority queue
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
The C++ Programming Language
Optimal Algorithms for List Indexing and Subset Rank
WADS '89 Proceedings of the Workshop on Algorithms and Data Structures
Trans-Dichotomous Algorithms Without Multiplication - Some Upper and Lower Bounds
WADS '97 Proceedings of the 5th International Workshop on Algorithms and Data Structures
Lower Bounds for Static Dictionaries on RAMs with Bit Operations But No Multiplication
ICALP '96 Proceedings of the 23rd International Colloquium on Automata, Languages and Programming
FOCS '98 Proceedings of the 39th Annual Symposium on Foundations of Computer Science
A linear-time algorithm for a special case of disjoint set union
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
Static Dictionaries on RAMs: Query Time is Necessary and Sufficient
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
Faster deterministic sorting and searching in linear space
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
Combinatorial power in multimedia processors
ACM SIGARCH Computer Architecture News
Journal of Computer and System Sciences - Special issue: STOC 2003
ACM Transactions on Algorithms (TALG)
Equivalence between priority queues and sorting
Journal of the ACM (JACM)
Making deterministic signatures quickly
ACM Transactions on Algorithms (TALG)
From nondeterministic suffix automaton to lazy suffix tree
Algorithms and Applications
Rank-Sensitive data structures
SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval
Research paper: The saga of minimum spanning trees
Computer Science Review
European Journal of Combinatorics
Cache-Oblivious dictionaries and multimaps with negligible failure probability
MedAlg'12 Proceedings of the First Mediterranean conference on Design and Analysis of Algorithms
A correction to Andersson's fusion tree construction
Theoretical Computer Science
Hi-index | 0.00 |
Addressing a question of Fredman and Willard from STOC'90, we show that fusion trees cannot be implemented using the AC0 operations available through a standard programming language such as C. However, they can be implemented using AC0 operations on emerging multimedia processors such as the Pentium 4.A fusion node is a linear space representation of an integer set X of size O(√W), where W ≥ log n is the word-length. The fusion node supports searches in X in constant time. Here, a search for y in X returns max{x ε X|x ≤ y}. Using fusion nodes in a O(√W)-degree fusion tree gave Fredman and Willard O(log n/log W) searching for general n, beating the comparison based lower-bound. However, the search routine uses multiplication which is not an AC0 operation.Fredman and Willard asked if multiplication instructions could be avoided. We show that the answer is "no" unless you have room for a multiplication table. More precisely, restricting ourselves to the AC0 operations available through C, we show that constant time look-ups or searches in sets of any non-constant size require space 2Ω(W). However, if we have that much space, i.e., 2εW for some constant ε 0, then we can tabulate multiplication of (εW/2)-bit numbers, and then we get constant time multiplication of words using additions and shifts. Previous related lowerbounds all disallowed some common AC0 instructions in C such as shifts.We note that even on the weaker "Practical RAM" the above 2Ω(W) space lower-bound for constant look-ups was only known for sets of size Ω(W2) (Miltersen, ICALP'96). Our Ω(1) set size is best possible since sets of constant size can be searched directly in constant time.Contrasting the above result, we show that using the AC0 operations available on Intel's new Pentium 4, we can implement both fusion trees and Fredman and Willard's later atomic heaps from FOCS'90. Among the many consequences, we get linear time and space AC0 implementations of minimum spanning tree and undirected single source shortest paths. Also, we get optimal Θ(log n/log log n) implementations of dynamic rank and 1½ dimensional range searching. Previous optimal solutions required either multiplication or the use of self-designed AC0 instructions not available on existing processors.