|
@@ -777,7 +777,7 @@ if you can identify the runtime complexity of different algorithms. It's a super
|
|
- preorder (DFS: self, left, right)
|
|
- preorder (DFS: self, left, right)
|
|
- [ ] [[Review] Breadth-first search in 4 minutes (video)](https://youtu.be/HZ5YTanv5QE)
|
|
- [ ] [[Review] Breadth-first search in 4 minutes (video)](https://youtu.be/HZ5YTanv5QE)
|
|
- [ ] [[Review] Depth-first search in 4 minutes (video)](https://youtu.be/Urx87-NMm6c)
|
|
- [ ] [[Review] Depth-first search in 4 minutes (video)](https://youtu.be/Urx87-NMm6c)
|
|
- - [ ] [[Review] Tree Traversal playlist by Michael Sambol (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZO1JC2RgEi04nLy6D-rKk6b)
|
|
|
|
|
|
+ - [ ] [[Review] Tree Traversal (playlist) in 11 minutes (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZO1JC2RgEi04nLy6D-rKk6b)
|
|
|
|
|
|
- ### Binary search trees: BSTs
|
|
- ### Binary search trees: BSTs
|
|
- [ ] [Binary Search Tree Review (video)](https://www.youtube.com/watch?v=x6At0nzX92o&index=1&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
|
|
- [ ] [Binary Search Tree Review (video)](https://www.youtube.com/watch?v=x6At0nzX92o&index=1&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
|
|
@@ -822,7 +822,7 @@ if you can identify the runtime complexity of different algorithms. It's a super
|
|
- [ ] [MIT: Heaps and Heap Sort (video)](https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
|
|
- [ ] [MIT: Heaps and Heap Sort (video)](https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
|
|
- [ ] [CS 61B Lecture 24: Priority Queues (video)](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
|
|
- [ ] [CS 61B Lecture 24: Priority Queues (video)](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
|
|
- [ ] [Linear Time BuildHeap (max-heap)](https://www.youtube.com/watch?v=MiyLo8adrWw)
|
|
- [ ] [Linear Time BuildHeap (max-heap)](https://www.youtube.com/watch?v=MiyLo8adrWw)
|
|
- - [ ] [[Review] Heap playlist by Michael Sambol (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNsyqgPW-DNwUeT8F8uhWc6)
|
|
|
|
|
|
+ - [ ] [[Review] Heap (playlist) in 13 minutes (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNsyqgPW-DNwUeT8F8uhWc6)
|
|
- [ ] Implement a max-heap:
|
|
- [ ] Implement a max-heap:
|
|
- [ ] insert
|
|
- [ ] insert
|
|
- [ ] sift_up - needed for insert
|
|
- [ ] sift_up - needed for insert
|
|
@@ -887,13 +887,13 @@ if you can identify the runtime complexity of different algorithms. It's a super
|
|
- [ ] [Implementation (C)](https://github.com/jwasham/practice-c/blob/master/quick_sort/quick_sort.c)
|
|
- [ ] [Implementation (C)](https://github.com/jwasham/practice-c/blob/master/quick_sort/quick_sort.c)
|
|
- [ ] [Implementation (Python)](https://github.com/jwasham/practice-python/blob/master/quick_sort/quick_sort.py)
|
|
- [ ] [Implementation (Python)](https://github.com/jwasham/practice-python/blob/master/quick_sort/quick_sort.py)
|
|
|
|
|
|
-- [ ] [[Review] Sorting playlist by Michael Sambol](https://www.youtube.com/playlist?list=PL9xmBV_5YoZOZSbGAXAPIq1BeUf4j20pl)
|
|
|
|
- - [ ] [[Review] Quick sort in 4 minutes (video)](https://youtu.be/Hoixgm4-P4M)
|
|
|
|
- - [ ] [[Review] Heap sort in 4 minutes (video)](https://youtu.be/2DmK_H7IdTo)
|
|
|
|
- - [ ] [[Review] Merge sort in 3 minutes (video)](https://youtu.be/4VqmGXwpLqc)
|
|
|
|
- - [ ] [[Review] Bubble sort in 2 minutes (video)](https://youtu.be/xli_FI7CuzA)
|
|
|
|
- - [ ] [[Review] Selection sort in 3 minutes (video)](https://youtu.be/g-PGLbMth_g)
|
|
|
|
- - [ ] [[Review] Insertion sort in 2 minutes (video)](https://youtu.be/JU767SDMDvA)
|
|
|
|
|
|
+- [ ] [[Review] Sorting (playlist) in 18 minutes](https://www.youtube.com/playlist?list=PL9xmBV_5YoZOZSbGAXAPIq1BeUf4j20pl)
|
|
|
|
+ - [ ] [Quick sort in 4 minutes (video)](https://youtu.be/Hoixgm4-P4M)
|
|
|
|
+ - [ ] [Heap sort in 4 minutes (video)](https://youtu.be/2DmK_H7IdTo)
|
|
|
|
+ - [ ] [Merge sort in 3 minutes (video)](https://youtu.be/4VqmGXwpLqc)
|
|
|
|
+ - [ ] [Bubble sort in 2 minutes (video)](https://youtu.be/xli_FI7CuzA)
|
|
|
|
+ - [ ] [Selection sort in 3 minutes (video)](https://youtu.be/g-PGLbMth_g)
|
|
|
|
+ - [ ] [Insertion sort in 2 minutes (video)](https://youtu.be/JU767SDMDvA)
|
|
|
|
|
|
- [ ] Implement:
|
|
- [ ] Implement:
|
|
- [ ] Mergesort: O(n log n) average and worst case
|
|
- [ ] Mergesort: O(n log n) average and worst case
|
|
@@ -957,8 +957,8 @@ Graphs can be used to represent many problems in computer science, so this secti
|
|
- [ ] [CS 61B 2014: Weighted graphs (video)](https://archive.org/details/ucberkeley_webcast_zFbq8vOZ_0k)
|
|
- [ ] [CS 61B 2014: Weighted graphs (video)](https://archive.org/details/ucberkeley_webcast_zFbq8vOZ_0k)
|
|
- [ ] [Greedy Algorithms: Minimum Spanning Tree (video)](https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
|
- [ ] [Greedy Algorithms: Minimum Spanning Tree (video)](https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
|
- [ ] [Strongly Connected Components Kosaraju's Algorithm Graph Algorithm (video)](https://www.youtube.com/watch?v=RpgcYiky7uw)
|
|
- [ ] [Strongly Connected Components Kosaraju's Algorithm Graph Algorithm (video)](https://www.youtube.com/watch?v=RpgcYiky7uw)
|
|
- - [ ] [[Review] Shortest Path Algorithms playlist by Michael Sambol (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZO-Y-H3xIC9DGSfVYJng9Yw)
|
|
|
|
- - [ ] [[Review] Minimum Spanning Trees playlist by Michael Sambol (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZObEi3Hf6lmyW-CBfs7nkOV)
|
|
|
|
|
|
+ - [ ] [[Review] Shortest Path Algorithms (playlist) in 16 minutes (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZO-Y-H3xIC9DGSfVYJng9Yw)
|
|
|
|
+ - [ ] [[Review] Minimum Spanning Trees (playlist) in 4 minutes (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZObEi3Hf6lmyW-CBfs7nkOV)
|
|
|
|
|
|
- Full Coursera Course:
|
|
- Full Coursera Course:
|
|
- [ ] [Algorithms on Graphs (video)](https://www.coursera.org/learn/algorithms-on-graphs/home/welcome)
|
|
- [ ] [Algorithms on Graphs (video)](https://www.coursera.org/learn/algorithms-on-graphs/home/welcome)
|
|
@@ -1218,7 +1218,7 @@ Graphs can be used to represent many problems in computer science, so this secti
|
|
|
|
|
|
- [ ] Series of 2-3 minutes short subject videos (23 videos)
|
|
- [ ] Series of 2-3 minutes short subject videos (23 videos)
|
|
- [Videos](https://www.youtube.com/watch?v=r4r1DZcx1cM&list=PLmVb1OknmNJuC5POdcDv5oCS7_OUkDgpj&index=22)
|
|
- [Videos](https://www.youtube.com/watch?v=r4r1DZcx1cM&list=PLmVb1OknmNJuC5POdcDv5oCS7_OUkDgpj&index=22)
|
|
-- [ ] Series of 2-5 minutes short subject videos - Michael Sambol (36+ videos):
|
|
|
|
|
|
+- [ ] Series of 2-5 minutes short subject videos - Michael Sambol (38 videos):
|
|
- [Videos](https://www.youtube.com/channel/UCzDJwLWoYCUQowF_nG3m5OQ)
|
|
- [Videos](https://www.youtube.com/channel/UCzDJwLWoYCUQowF_nG3m5OQ)
|
|
- [ ] [Sedgewick Videos - Algorithms I](https://www.coursera.org/learn/algorithms-part1)
|
|
- [ ] [Sedgewick Videos - Algorithms I](https://www.coursera.org/learn/algorithms-part1)
|
|
- [ ] [Sedgewick Videos - Algorithms II](https://www.coursera.org/learn/algorithms-part2)
|
|
- [ ] [Sedgewick Videos - Algorithms II](https://www.coursera.org/learn/algorithms-part2)
|
|
@@ -1709,7 +1709,7 @@ You're never really done.
|
|
- [Aduni - Algorithms - Lecture 5 (video)](https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5)
|
|
- [Aduni - Algorithms - Lecture 5 (video)](https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5)
|
|
- [Red-Black Tree](https://en.wikipedia.org/wiki/Red%E2%80%93black_tree)
|
|
- [Red-Black Tree](https://en.wikipedia.org/wiki/Red%E2%80%93black_tree)
|
|
- [An Introduction To Binary Search And Red Black Tree](https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Binary%20Search%20and%20Red-Black%20Trees)
|
|
- [An Introduction To Binary Search And Red Black Tree](https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Binary%20Search%20and%20Red-Black%20Trees)
|
|
- - [[Review] Red-Black Trees playlist by Michael Sambol (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNqDI8qfOZgzbqahCUmUEin)
|
|
|
|
|
|
+ - [[Review] Red-Black Trees (playlist) in 30 minutes (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNqDI8qfOZgzbqahCUmUEin)
|
|
|
|
|
|
- **2-3 search trees**
|
|
- **2-3 search trees**
|
|
- In practice:
|
|
- In practice:
|
|
@@ -1750,7 +1750,7 @@ You're never really done.
|
|
- [MIT 6.851 - Memory Hierarchy Models (video)](https://www.youtube.com/watch?v=V3omVLzI0WE&index=7&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
|
|
- [MIT 6.851 - Memory Hierarchy Models (video)](https://www.youtube.com/watch?v=V3omVLzI0WE&index=7&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
|
|
- covers cache-oblivious B-Trees, very interesting data structures
|
|
- covers cache-oblivious B-Trees, very interesting data structures
|
|
- the first 37 minutes are very technical, may be skipped (B is block size, cache line size)
|
|
- the first 37 minutes are very technical, may be skipped (B is block size, cache line size)
|
|
- - [[Review] B-Trees playlist by Michael Sambol (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNFPPv98DjTdD9X6UI9KMHz)
|
|
|
|
|
|
+ - [[Review] B-Trees (playlist) in 26 minutes (video)](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNFPPv98DjTdD9X6UI9KMHz)
|
|
|
|
|
|
|
|
|
|
- ### k-D Trees
|
|
- ### k-D Trees
|