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

This commit is contained in:
John Washam 2016-07-11 21:27:13 -07:00
parent dc468b1e41
commit 37f0eb1af2

View File

@ -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** - [ ] **N-ary (K-ary) trees**
- [ ] 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**
- [ ] 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