MIT 6.851 Advanced Data Structures Prof. Erik Demaine Spring '12 Scribe Notes Collection TA: Tom Morgan, Justin Zhang Editing: Justin Zhang Contents 1 1. Temporal data structure 1 4 Scribers: Oscar Moll (2012), Aston Motes (2007), Kevin Wang (2007) 1.1 Overview . 4 1.2 Model and definitions . 4 1.3 Partial persistence . 6 1.4 Full persistence . 9 1.5 Confluent Persistence . 12 1.6 Functional persistence . 13 2 2. Temporal data structure 2 14 Scribers: Erek Speed (2012), Victor Jakubiuk (2012), Aston Motes (2007), Kevin Wang (2007) 2.1 Overview . 14 2.2 Retroactivity . 14 3 3. Geometric data structure 1 24 Scribers: Brian Hamrick (2012), Ben Lerner (2012), Keshav Puranmalka (2012) 3.1 Overview . 24 3.2 Planar Point Location . 24 3.3 Orthogonal range searching . 27 3.4 Fractional Cascading . 33 4 4. Geometric data structure 2 35 2 Scribers: Brandon Tran (2012), Nathan Pinsker (2012), Ishaan Chugh (2012), David Stein (2010), Jacob Steinhardt (2010) 4.1 Overview- Geometry II . 35 4.2 3D Orthogonal Range Search in O(lg n) Query Time . 35 4.3 Kinetic Data Structures . 38 5 5. Dynamic optimality 1 42 Scribers: Brian Basham (2012), Travis Hance (2012), Jayson Lynch (2012) 5.1 Overview . 42 5.2 Binary Search Trees . 42 5.3 Splay Trees . 45 5.4 Geometric View . 46 6 6. Dynamic optimality 2 50 Scribers: Aakanksha Sarda (2012), David Field (2012), Leonardo Urbina (2012), Prasant Gopal (2010), Hui Tang (2007), Mike Ebersol (2005) 6.1 Overview . 50 6.2 Independent Rectangle Bounds . 50 6.3 Lower Bounds . 53 6.4 Tango Trees . 54 6.5 Signed greedy algorithm . 57 7 7. Memory hierarchy 1 59 Scribers: Claudio A Andreoni (2012), Sebastien Dabdoub (2012), Usman Masood (2012), Eric Liu (2010), Aditya Rathnam (2007) 7.1 Memory Hierarchies and Models of Them . 59 7.2 External Memory Model . 60 7.3 Cache Oblivious Model . 61 7.4 Cache Oblivious B-Trees . 62 8 8. Memory hierarchy 2 67 Scribers: Pedram Razavi (2012), Thomas Georgiou (2012), Tom Morgan (2010) 8.1 From Last Lectures. 67 8.2 Ordered File Maintenance [55] [56] . 67 8.3 List Labeling . 70 8.4 Cache-Oblivious Priority Queues [59] . 70 9 9. Memory hierarchy 3 73 Scribers: Tim Kaler(2012), Jenny Li(2012), Elena Tatarchenko(2012) 9.1 Overview . 73 9.2 Lazy Funnelsort . 73 9.3 Orthogonal 2D Range Searching . 75 10 10. Dictionaries 82 Scribers: Edward Z. Yang (2012), Katherine Fang (2012), Benjamin Y. Lee (2012), David Wilson (2010), Rishi Gupta (2010) 10.1 Overview . 82 10.2 Hash Function . 82 10.3 Basic Chaining . 84 10.4 FKS Perfect Hashing { Fredman, Koml´os,Szemer´edi(1984) [157] . 86 10.5 Linear probing . 87 10.6 Cuckoo Hashing { Pagh and Rodler (2004) [155] . 88 11 11. Integer 1 92 Scribers: Sam Fingeret (2012), Shravas Rao (2012), Paul Christiano (2010) 11.1 Overview . 92 11.2 Integer Data Structures . 92 11.3 Successor / Predecessor Queries . 93 11.4 Van Emde Boas Trees . 94 11.5 Binary tree view . 95 11.6 Reducing space . 96 12 12. Integer 2 98 Scribers: Kent Huynh (2012), Shoshana Klerman (2012), Eric Shyu (2012) 12.1 Introduction . 98 12.2 Overview of Fusion Trees . 98 12.3 The General Idea . 99 12.4 Sketching . 99 12.5 Desketchifying . 100 12.6 Approximating Sketch . 101 12.7 Parallel Comparison . 102 12.8 Most Significant Set Bit . 103 13 13. Integer 3 106 Scribers: Karan Sagar (2012), Jacob Hurwitz (2012), Jingjing Liu (2010), Meshkat Farrokhzadi (2007), Yoyo Zhou (2005) 13.1 Overview . 106 13.2 Survey of predecessor lower bound results . 106 13.3 Communication Complexity . 108 13.4 Round Elimination . 109 13.5 Proof of Predecessor Bound . 109 13.6 Sketch of the Proof for the Round Elimination Lemma . 110 14 14. Integer 4 113 Scribers: Leon Bergen (2012), Andrea Lincoln (2012), Tana Wattanawaroon (2012), Haitao Mao (2010), Eric Price (2007) 14.1 Overview . 113 14.2 Sorting reduced to Priority Queues . 113 14.3 Sorting reduced to Priority Queues . 114 14.4 Sorting for w = Ω(log2+" n) ................................114 15 15. Static Trees 120 Scribers: Jelle van den Hooff(2012), Yuri Lin(2012), Andrew Winslow (2010) 15.1 Overview . 120 15.2 Reductions between RMQ and LCA . 121 15.3 Constant time LCA and RMQ . 124 15.4 Level Ancestor Queries (LAQ) . 126 16 16. Strings 128 Scribers: Cosmin Gheorghe (2012), Nils Molina (2012), Kate Rudolph (2012), Mark Chen (2010), Aston Motes (2007), Kah Keng Tay (2007), Igor Ganichev (2005), Michael Walfish (2003) 16.1 Overview . 128 16.2 Predecessor Problem . 128 16.3 Suffix Trees . 132 16.4 Suffix Arrays . 134 16.5 DC3 Algorithm for Building Suffix Arrays . 136 17 17. Succinct 1 139 Scribers: David Benjamin(2012), Lin Fei(2012), Yuzhi Zheng(2012),Morteza Zadimoghaddam(2010), Aaron Bernstein(2007) 17.1 Overview . 139 17.2 Level Order Representation of Binary Tries . 141 17.3 Rank and Select . 143 17.4 Subtree Sizes . 146 18 18. Succinct 2 148 Scribers: Sanja Popovic(2012), Jean-Baptiste Nivoit(2012), Jon Schneider(2012), Sarah Eisenstat (2010), Mart´ıBol´ıvar (2007) 18.1 Overview . 148 18.2 Survey . 148 18.3 Compressed suffix arrays . 150 18.4 Compact suffix arrays . ..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages199 Page
-
File Size-