Browse Source

Quotes about trees. Added video on cache-oblivious B trees.

John Washam 8 years ago
parent
commit
37f0eb1af2
1 changed files with 24 additions and 20 deletions
  1. 24 20
      README.md

+ 24 - 20
README.md

@@ -442,6 +442,9 @@ Then test it out on a computer to make sure it's not buggy from syntax.
 
 
 - [ ] **Balanced search trees**
 - [ ] **Balanced search trees**
     - Know least one type of balanced binary tree (and know how it's implemented):
     - Know least one type of balanced binary tree (and know how it's implemented):
+    - "Among balanced search trees, AVL and 2/3 trees are now passé, and red-black trees seem to be more popular.
+        A particularly interesting self-organizing data structure is the splay tree, which uses rotations
+        to move any accessed key to the root." - Skiena
 
 
     - [x] **AVL trees**
     - [x] **AVL trees**
         - In practice:
         - In practice:
@@ -493,6 +496,9 @@ Then test it out on a computer to make sure it's not buggy from syntax.
         - [x] Introduction to B-Trees: https://www.youtube.com/watch?v=I22wEC1tTGo&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=6
         - [x] Introduction to B-Trees: https://www.youtube.com/watch?v=I22wEC1tTGo&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=6
         - [x] B-Tree Definition and Insertion: https://www.youtube.com/watch?v=s3bCdZGrgpA&index=7&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6
         - [x] B-Tree Definition and Insertion: https://www.youtube.com/watch?v=s3bCdZGrgpA&index=7&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6
         - [x] B-Tree Deletion: https://www.youtube.com/watch?v=svfnVhJOfMc&index=8&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6
         - [x] B-Tree Deletion: https://www.youtube.com/watch?v=svfnVhJOfMc&index=8&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6
+        - [x] MIT 6.851 - Memory Hierarchy Models: https://www.youtube.com/watch?v=V3omVLzI0WE&index=7&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf
+                - 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)
 
 
     - [ ] **Red/black trees**
     - [ ] **Red/black trees**
         - In practice:
         - In practice:
@@ -508,13 +514,7 @@ Then test it out on a computer to make sure it's not buggy from syntax.
             https://youtu.be/1W3x0f_RmUo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3871
             https://youtu.be/1W3x0f_RmUo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3871
         - [ ] Aduni - Algorithms - Lecture 5: https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5
         - [ ] Aduni - Algorithms - Lecture 5: https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5
 
 
-    - [ ] **Skip lists**
-        - [ ] MIT: Randomization: Skip Lists: https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp
-
-    - [ ] **Memory Model & Trees**
-        - [ ] MIT 6.851 - Memory Hierarchy Models: https://www.youtube.com/watch?v=V3omVLzI0WE&index=7&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf
-
-- [ ] **N-ary trees**
+- [ ] **N-ary (K-ary) trees**
     - [ ] https://en.wikipedia.org/wiki/K-ary_tree
     - [ ] https://en.wikipedia.org/wiki/K-ary_tree
 
 
 - [ ] **Tries**
 - [ ] **Tries**
@@ -522,16 +522,6 @@ Then test it out on a computer to make sure it's not buggy from syntax.
     - [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries
     - [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries
     - [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie
     - [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie
 
 
-- [ ] **Disjoint Sets:**
-    - [ ] https://en.wikipedia.org/wiki/Disjoint-set_data_structure
-    - [ ] UCB 61B - Disjoint Sets; Sorting & selection: https://www.youtube.com/watch?v=MAEGXTwmUsI&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=21
-    - [ ] https://www.coursera.org/learn/data-structures/lecture/JssSY/overview
-    - [ ] https://www.coursera.org/learn/data-structures/lecture/EM5D0/naive-implementations
-    - [ ] https://www.coursera.org/learn/data-structures/lecture/Mxu0w/trees
-    - [ ] https://www.coursera.org/learn/data-structures/lecture/qb4c2/union-by-rank
-    - [ ] https://www.coursera.org/learn/data-structures/lecture/Q9CVI/path-compression
-    - [ ] https://www.coursera.org/learn/data-structures/lecture/GQQLN/analysis-optional
-
 ## Sorting
 ## Sorting
 
 
     This area is sparse, and I'll be filling it in once I get here.
     This area is sparse, and I'll be filling it in once I get here.
@@ -602,9 +592,6 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
 
 
     This area is sparse, and I'll be filling it in once I get here.
     This area is sparse, and I'll be filling it in once I get here.
 
 
-- [ ] **Treap**
-    - [ ] ?
-
 - [ ] Caches
 - [ ] Caches
     - LRU cache
     - LRU cache
 
 
@@ -893,6 +880,23 @@ Some of mine (I already may know answer to but want their opinion or team perspe
     Everything below is my recommendation, not Google's, and you may not have enough time to
     Everything below is my recommendation, not Google's, and you may not have enough time to
     learn, watch or read them all. That's ok. I may not either.
     learn, watch or read them all. That's ok. I may not either.
 
 
+- [ ] **Skip lists**
+    - "These are somewhat of a cult data structure" - Skiena
+    - [ ] MIT: Randomization: Skip Lists: https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp
+
+- [ ] **Disjoint Sets:**
+    - [ ] https://en.wikipedia.org/wiki/Disjoint-set_data_structure
+    - [ ] UCB 61B - Disjoint Sets; Sorting & selection: https://www.youtube.com/watch?v=MAEGXTwmUsI&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=21
+    - [ ] https://www.coursera.org/learn/data-structures/lecture/JssSY/overview
+    - [ ] https://www.coursera.org/learn/data-structures/lecture/EM5D0/naive-implementations
+    - [ ] https://www.coursera.org/learn/data-structures/lecture/Mxu0w/trees
+    - [ ] https://www.coursera.org/learn/data-structures/lecture/qb4c2/union-by-rank
+    - [ ] https://www.coursera.org/learn/data-structures/lecture/Q9CVI/path-compression
+    - [ ] https://www.coursera.org/learn/data-structures/lecture/GQQLN/analysis-optional
+
+- [ ] **Treap**
+    - [ ] ?
+
 - [x] **Parity & Hamming Code**
 - [x] **Parity & Hamming Code**
     - [x] Parity:
     - [x] Parity:
         - https://www.youtube.com/watch?v=DdMcAUlxh1M
         - https://www.youtube.com/watch?v=DdMcAUlxh1M