Abstract
We present a data structure representing a dynamic set S of w-bit integers on a w-bit word RAM. With S = n and w ≥ log n and space O(n), we support the following standard operations in O(log n/log w) time: insert(x) sets S = S + {x}. delete(x) sets S = S {x}. predecessor(x) returns max{y S y < x}. rank(x) returns #{y y < x}. select (i) returns y with rank (y) = i, if any. Our O(log n/log w) bound is optimal for dynamic rank and select, matching a lower bound of Fredman and Saks [STOC'89]. When the word length is large, our time bound is also optimal for dynamic predecessor, matching a static lower bound of Beame and Fich [STOC'99] whenever log n/log w = O(log w/log log w). Technically, the most interesting aspect of our data structure is that it supports all the above operations in constant time for sets of size n = w O(1). This resolves a main open problem of Ajtai, Komlos, and Fredman [FOCS]. Ajtai et al. presented such a data structure in Yaofs abstract cell-probe model with w-bit cells/words, but pointed out that the functions used could not be implemented. As a partial solution to the problem, Fredman and Willard [STOC129;f90] introduced a fusion node that could handle queries in constant time, but used polynomial time on the updates. We call our small set data structure a dynamic fusion node as it does both queries and updates in constant time.
Originalsprog | Engelsk |
---|---|
Titel | FOCS 2014 : 55th Annual Symposium on Foundations of Computer Science |
Antal sider | 10 |
Forlag | IEEE |
Publikationsdato | 7 dec. 2014 |
Sider | 166-175 |
ISBN (Elektronisk) | 978-1-4799-6517-5 |
DOI | |
Status | Udgivet - 7 dec. 2014 |
Begivenhed | IEEE Annual Symposium on Foundations of Computer Science (FOCS) - Radisson Blu Warwick Hotel, Philadelphia, USA Varighed: 18 okt. 2014 → 21 okt. 2014 Konferencens nummer: 55 |
Konference
Konference | IEEE Annual Symposium on Foundations of Computer Science (FOCS) |
---|---|
Nummer | 55 |
Lokation | Radisson Blu Warwick Hotel |
Land/Område | USA |
By | Philadelphia |
Periode | 18/10/2014 → 21/10/2014 |
Emneord
- computational complexity
- data structures
- random-access storage
- data structure
- dynamic fusion node
- dynamic integer sets
- dynamic predecessor
- optimal rank
- polynomial time
- predecessor search
- w-bit integers
- w-bit word RAM
- Computational modeling
- Data structures
- Indexes
- Polynomials
- Probes
- Random access memory
- Standards
- dynamic data structures
- integer data structures