CS 61B Data Structures
Website
- Spring 2019 course website slides ✅ | videos ✅ | assignments ✅
Overview
The CS 61 series is an introduction to computer science, with particular emphasis on software and machines from a programmer’s point of view. CS 61A covered high-level approaches to problem-solving, providing you with a variety of ways to organize solutions to programming problems as compositions of functions, collections of objects, or sets of rules. In CS 61B, we move to a somewhat more detailed (and to some extent, more basic) level of programming.
In 61A, the correctness of a program was our primary goal. In CS61B, we’re concerned also with engineering. An engineer, it is said, is someone who can do for a dime what any fool can do for a dollar. Much of 61B will be concerned with the tradeoffs in time and memory for a variety of methods for structuring data. We’ll also be concerned with the engineering knowledge and skills needed to build and maintain moderately large programs.
Prerequisite: CS 61A Structure and Interpretation of Computer Programs
Schedule
- Intro, Hello World Java vid1 vid2 slides guide
- Defining and Using Classes video slides guide
- References, Recursion, and Lists video slides guide
- SLLists, Nested Classes, Sentinel Nodes video slides guide
- DLLists, Arrays video slides guide
- ALists, Resizing, vs. SLists video slides guide
- Testing video slides guide
- Inheritance, Implements video slides guide
- Extends, Casting, Higher Order Functions video slides guide
- Subtype Polymorphism vs. HoFs video slides guide
- Exceptions, Iterators, Object Methods video slides guide
- Coding in the Real World, Review slides
- Asymptotics I video slides guide
- Disjoint Sets video slides guide
- Asymptotics II video slides guide
- ADTs, Sets, Maps, BSTs video slides guide
- B-Trees (2-3, 2-3-4 Trees) video slides guide
- Red Black Trees video slides guide
- Hashing video slides guide
- Heaps and PQs video slides guide
- Prefix Operations and Tries video slides guide
- Range Searching and Multi-Dimensional Data video slides guide
- Tree and Graph Traversals video slides guide
- Graph Traversals and Implementations video slides guide
- Shortest Paths video slides guide
- Minimum Spanning Trees video slides guide
- Reductions and Decomposition video slides
- No Lecture
- Basic Sorts video slides guide
- Quick Sort video slides guide
- Software Engineering I video slides guide
- More Quick Sort, Sorting Summary video slides guide
- Sorting and Algorithmic Bounds video slides guide
- Software Engineering II video slides guide
- Radix Sorts video slides guide
- Sorting and Data Structures Conclusion video slides guide
- Software Engineering III video slides guide
- Compression video slides guide
- Compression, Complexity, and P=NP? video slides
- Summary, Fun slides