cs61b
A collection of some of the resources I’ve created over my time teaching CS 61B.
First off, for those unfamiliar with 61B, it is the data structures and algorithms class at UC Berkeley. I had the privilege of TAing 61B from Spring 2020 to Spring 2022, and over the semesters, I created challenging problems and recorded intuitive videos.
Each unstarred problem below is one I wrote for a past advanced discussion worksheet, and most I recorded a video explanation for as well. The starred problems are ones I didn’t write myself, but I recorded a video explanation for. All the video explanations are linked in the solutions.
I also created several content review videos and wrote a few guides, so those are linked as well! All the resources are grouped by topic, and the topics are sorted alphabetically. Some of the topics may not be in scope during your 61b semester.
Finally, if you take advantage of any these resources, I’d love to hear, so shoot me an email at sohum11 (at) berkeley (dot) edu :)
ADTs
Arrays
Asymptotics
-
GuideHow To Approach Recursive Asymptotics
-
VideoHow To Approach Recursive Asymptotics
-
VideoCommon Asymptotic Confusions
-
VideoAsymptotic Bounds
Bits
Classes
Comparators
Disjoint Sets
-
VideoDisjoint Sets
Dynamic Method Selection
-
VideoInheritance and Dynamic Method Selection
Graphs
Hashing
Heaps
Iterators
LLRBs
-
SlidesLLRB Slides
-
Video2-3 Trees and LLRBs
Linked Lists
MSTs
Shortest Paths
-
VideoDijkstra’s Intuition, Algorithm, and Runtime
-
VideoA* Intution
Sorting
-
GuideSorting Notes
-
VideoLSD Sort and Counting Sort
-
VideoSelection Sort
-
VideoInsertion Sort
-
VideoHeapsort
-
VideoQuicksort
-
VideoMergesort
Trees
-
VideoAlpha Beta Pruning — (not so mini) Lecture