├── pubs └── 1980 Implicit Data Structures for Fast Search and Update - Munro, Suwanda.pdf └── README.md /pubs/1980 Implicit Data Structures for Fast Search and Update - Munro, Suwanda.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pfalcon/awesome-implicit-data-structures/HEAD/pubs/1980 Implicit Data Structures for Fast Search and Update - Munro, Suwanda.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Implicit data structures 2 | 3 | https://en.wikipedia.org/wiki/Implicit_data_structure 4 | 5 | ## Sorted list 6 | 7 | * https://en.wikipedia.org/wiki/Binary_search_algorithm 8 | 9 | ## Binary heap 10 | 11 | * https://en.wikipedia.org/wiki/Binary_heap 12 | 13 | ## D-ary heap (D-heap) and B-heap 14 | 15 | * https://en.wikipedia.org/wiki/D-ary_heap 16 | * https://en.wikipedia.org/wiki/B-heap 17 | * https://github.com/valyala/gheap 18 | 19 | ## Poplar heap 20 | 21 | * Description and implementation in https://github.com/Morwenn/poplar-heap 22 | 23 | ## Post-order heap 24 | 25 | Largely similar to poplar heap above. 26 | 27 | * Paper: https://people.csail.mit.edu/nickh/Publications/PostOrderHeap/FUN04-PostOrderHeap.pdf 28 | 29 | ## Min-max heap 30 | 31 | * https://en.wikipedia.org/wiki/Min-max_heap 32 | 33 | ## Binomial list (Bentley-Saxe) 34 | 35 | Doesn't support deletes natively, uses "soft deletes" (marking an element 36 | as deleted). 37 | 38 | ## Beap (Bi-parental heap) 39 | 40 | * https://en.wikipedia.org/wiki/Beap 41 | * Implementation in Python: https://github.com/pfalcon/beap 42 | 43 | ## Rotated sorted lists 44 | 45 | 46 | # Succint data structures 47 | 48 | https://en.wikipedia.org/wiki/Succinct_data_structure 49 | 50 | List dedicated to succint structures: 51 | 52 | * https://github.com/pombredanne/awesome-succint-data-structures 53 | 54 | Libs: 55 | 56 | * https://github.com/simongog/sdsl-lite (GPLv3) 57 | 58 | ## Red-black trees 59 | 60 | When storing just left/right node pointers, algorithms exist for one-pass 61 | top-down insertion and deletion. (For comparison, for AVL trees, only 62 | insertion top-down algorithm exists, deletion requires 2-pass algorithm). 63 | --------------------------------------------------------------------------------