Open Educational Resources


Open Educational Resources (OER) are freely accessible, openly licensed documents and media that are useful for teaching, learning, educational, assessment and research purposes.


Course reviews will be shown here


Data structures play a central role in modern computer science. You interact with data structures even more often than with algorithms (think Google, your mail server, and even your network routers). In addition, data structures are essential building blocks in obtaining efficient algorithms. This course covers major results and current directions of research in data structure.

30 hours of lectures

22 lectures

Assignments with solutions


Erik D. Demaine is a professor of Computer Science at the Massachusetts Institute of Technology and a former child prodigy. He joined the MIT faculty in 2001 at age 20, reportedly the youngest professor in the history of the Massachusetts Institute of Technology. Demaine is a member of the Theory of Computation group at MIT Computer Science and Artificial Intelligence Laboratory. In 2003 he was awarded a MacArthur Fellowship, the so-called "genius award". Mathematical origami artwork by Erik and Martin Demaine was part of the Design and the Elastic Mind exhibit at the Museum of Modern Art in 2008, and has been included in the MoMA permanent collection.In 2013, Demaine received the EATCS Presburger Award for young scientists. That same year, he was awarded a fellowship by the John Simon Guggenheim Memorial Foundation.

Creative Commons License

MIT 6.851 Advance data Structures by Professor Erik Demaine is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Based on a work at MIT OpenCourseWare.

Course content

  • Session 1: Persistent Data Structures

  • Session 2: Retroactive Data Structures

  • Session 3: Geometric Structures I

  • Session 4: Geometric Structures II

  • Session 5: Dynamic Optimality I

  • Session 6: Dynamic Optimality II

  • Session 7: Memory Hierarchy Models

  • Session 8: Cache-Oblivious Structures I

  • Session 9: Cache-Oblivious Structures II

  • Session 10: Dictionaries

  • Session 11: Integer Models

  • Session 12: Fusion Trees

  • Session 13: Integer Lower Bounds

  • Session 14: Sorting in Linear Time

  • Session 15: Static Trees

  • Session 16: Strings

  • Session 17: Succinct Structures I

  • Session 18: Succinct Structures II

  • Session 19: Dynamic Graphs I

  • Session 20: Dynamic Graphs II

  • Session 21: Dynamic Connectivity Lower Bound

  • Session 22: History of Memory Models

  • Assignments

Interested? Enroll to this course right now.

There is more to learn