CS61B Data Structures¶
Resources¶
- Course Page
- Github repo
- Berkeley CS61B / library sp19: Libraries and data for the sp19 version of CS 61B
“The difference between a bad programmer and a good one is whether [the programmer] considers code or data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.” - Linus Torvalds
Modules¶
- cs61b-lec-2-defining-and-using-classes
- asymptotics
- b-trees
- heaps-and-primary-queues
- range-searching-and-multi-dimensional-data
Lecture Checklist¶
- 1: Intro, Hello World Java
- 2: Defining and Using Classes
- 3: References, Recursion, and Lists
- 4: SLLists, Nested Classes, Sentinel Nodes
- 5: DLLists, Arrays
- 6: ALists, Resizing, vs. SLists
- 7: Testing
- 8: Inheritance, Implements
- 9: Extends, Casting, Higher Order Functions
- 10: Subtype Polymorphism vs. HoFs
- 11: Exceptions, Iterators, Object Methods
- 12: Coding in the Real World, Review
- 13: Asymptotics I
- 14: Disjoint Sets
- 15: Asymptotics II
- 16: ADTs, Sets, Maps, BSTs
- 17: B-Trees (2-3, 2-3-4 Trees)
- 18: Red Black Trees
- 19: Hashing
- 20: Heaps and PQs
- 21: Prefix Operations and Tries
- 22: Range Searching and Multi-Dimensional Data
- 23: Tree and Graph Traversals
- 24: Graph Traversals and Implementations
- 25: Shortest Paths
- 26: Minimum Spanning Trees
- 27: Reductions and Decomposition
- 29: Basic Sorts
- 30: Quick Sort
- 31: Software Engineering I
- 32: More Quick Sort, Sorting Summary
- 33: Sorting and Algorithmic Bounds
- 34: Software Engineering II