dc.contributor.author | Bender, Michael | |
dc.contributor.author | Conway, Alex | |
dc.contributor.author | Farach-Colton, Martin | |
dc.contributor.author | Kuszmaul, William | |
dc.contributor.author | Tagliavini, Guido | |
dc.date.accessioned | 2024-11-14T20:59:49Z | |
dc.date.available | 2024-11-14T20:59:49Z | |
dc.date.issued | 2024-10-21 | |
dc.identifier.issn | 1549-6325 | |
dc.identifier.uri | https://hdl.handle.net/1721.1/157543 | |
dc.description.abstract | This paper introduces a new data-structural object that we call the tiny pointer. In many applications, traditional logn-bit pointers can be replaced with o(logn)-bit tiny pointers at the cost of only a constant-factor time overhead. We develop a comprehensive theory of tiny pointers, and give optimal constructions for both fixed-size tiny pointers (i.e., settings in which all of the tiny pointers must be the same size) and variable-size tiny pointers (i.e., settings in which the average tiny-pointer size must be small, but some tiny pointers can be larger). If a tiny pointer references an element in an array filled to load factor 1?1/k, then the optimal tiny-pointer size is ?(logloglogn+logk) bits in the fixed-size case, and ?(logk) expected bits in the variable-size case. Our tiny-pointer constructions also require us to revisit several classic problems having to do with balls and bins; these results may be of independent interest. Using tiny pointers, we revisit five classic data-structure problems: the data-retrieval problem, succinct dynamic binary search trees, space-efficient stable dictionaries, space-efficient dictionaries with variable-size keys, and the internal-memory stash problem. These are all well-studied problems, and in each case tiny pointers allow for us to take a natural space-inefficient solution that uses pointers and make it space-efficient for free. | en_US |
dc.publisher | ACM | en_US |
dc.relation.isversionof | http://dx.doi.org/10.1145/3700594 | en_US |
dc.rights | Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use. | en_US |
dc.source | Association for Computing Machinery | en_US |
dc.title | Tiny Pointers | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Bender, Michael, Conway, Alex, Farach-Colton, Martin, Kuszmaul, William and Tagliavini, Guido. 2024. "Tiny Pointers." ACM Transactions on Algorithms. | |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
dc.relation.journal | ACM Transactions on Algorithms | en_US |
dc.identifier.mitlicense | PUBLISHER_POLICY | |
dc.eprint.version | Final published version | en_US |
dc.type.uri | http://purl.org/eprint/type/JournalArticle | en_US |
eprint.status | http://purl.org/eprint/status/PeerReviewed | en_US |
dc.date.updated | 2024-11-01T07:45:43Z | |
dc.language.rfc3066 | en | |
dc.rights.holder | The author(s) | |
dspace.date.submission | 2024-11-01T07:45:44Z | |
mit.license | PUBLISHER_POLICY | |
mit.metadata.status | Authority Work and Publication Information Needed | en_US |