diff --git a/README.md b/README.md index 55d83c7..842af07 100644 --- a/README.md +++ b/README.md @@ -468,7 +468,7 @@ Then test it out on a computer to make sure it's not buggy from syntax. - In practice: 2-3 trees have faster inserts at the expense of slower searches (since height is more compared to AVL trees). You would use 2-3 tree very rarely because its implementation involves different types of nodes. Instead, people use Red Black trees. - - [ ] 23-Tree Intuition and Definition: https://www.youtube.com/watch?v=C3SsdUqasD4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=2 + - [x] 23-Tree Intuition and Definition: https://www.youtube.com/watch?v=C3SsdUqasD4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=2 - [ ] Binary View of 23-Tree: https://www.youtube.com/watch?v=iYvBtGKsqSg&index=3&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6 - [x] 2-3 Trees (student recitation): https://www.youtube.com/watch?v=TOb1tuEZ2X4&index=5&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp @@ -535,6 +535,34 @@ Then test it out on a computer to make sure it's not buggy from syntax. - [ ] https://www.coursera.org/learn/data-structures/lecture/Q9CVI/path-compression - [ ] https://www.coursera.org/learn/data-structures/lecture/GQQLN/analysis-optional +## Sorting + + This area is sparse, and I'll be filling it in once I get here. + +- [ ] Notes: + - Implement sorts & know best case/worst case, average complexity of each: + - no bubble sort - it's terrible - O(n^2), except when n <= 16 + - For heapsort, see Heap data structure. + - [ ] stability in sorting algorithms: + - http://stackoverflow.com/questions/1517793/stability-in-sorting-algorithms + - http://www.geeksforgeeks.org/stability-in-sorting-algorithms/ + - [ ] Which algorithms can be used on linked lists? + - [ ] Which on arrays? Which on both? + - [ ] Is Quicksort stable? + +- [ ] https://www.youtube.com/watch?v=yLvp-pB8mak&index=8&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b +- [ ] https://www.youtube.com/watch?v=q7K9otnzlfE&index=9&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b + +- [ ] Implement: + - [ ] Mergesort + - [ ] Quicksort + - [ ] Insertion Sort + - [ ] Selection Sort + +- For Curiosity: + - [ ] Radix Sort, Counting Sort (linear time given constraints): https://www.youtube.com/watch?v=Nz1KZXbghj8&index=7&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb + - [ ] Radix Sort: https://www.youtube.com/watch?v=xhr26ia4k38 + ## Graphs This area is sparse (no pun intended), and I'll be filling it in once I get here. @@ -573,33 +601,6 @@ Then test it out on a computer to make sure it's not buggy from syntax. You'll get more graph practice in Skiena's book (see Books section below) and the interview books -## Sorting - - This area is sparse, and I'll be filling it in once I get here. - -- [ ] Notes: - - Implement sorts & know best case/worst case, average complexity of each: - - no bubble sort - it's terrible - O(n^2), except when n <= 16 - - For heapsort, see Heap data structure. - - [ ] stability in sorting algorithms: - - http://stackoverflow.com/questions/1517793/stability-in-sorting-algorithms - - http://www.geeksforgeeks.org/stability-in-sorting-algorithms/ - - [ ] Which algorithms can be used on linked lists? - - [ ] Which on arrays? Which on both? - - [ ] Is Quicksort stable? - -- [ ] https://www.youtube.com/watch?v=yLvp-pB8mak&index=8&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b -- [ ] https://www.youtube.com/watch?v=q7K9otnzlfE&index=9&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b - -- [ ] Implement: - - [ ] Mergesort - - [ ] Quicksort - - [ ] Insertion Sort - - [ ] Selection Sort - -- For Curiosity: - - [ ] Radix Sort: https://www.youtube.com/watch?v=xhr26ia4k38 - ## Even More Knowledge This area is sparse, and I'll be filling it in once I get here.