From fb2d4ef7d8d86a9e4150fa46f3ee88440f5cb4f9 Mon Sep 17 00:00:00 2001 From: John Washam Date: Fri, 8 Jul 2016 20:24:59 -0700 Subject: [PATCH] Moved Fibonacci Heap down to graphs. Some implementation functions for priority queue. --- README.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 11e718a..9314ce8 100644 --- a/README.md +++ b/README.md @@ -435,16 +435,14 @@ Then test it out on a computer to make sure it's not buggy from syntax. - [x] Building a heap: https://www.coursera.org/learn/data-structures/lecture/dwrOS/building-a-heap - [x] MIT: Heaps and Heap Sort: https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb - [x] CS 61B Lecture 24: Priority Queues: https://www.youtube.com/watch?v=yIUFT6AKBGE&index=24&list=PL4BBB74C7D2A1049C - - [ ] Fibonacci Heap: - - [ ] https://www.youtube.com/watch?v=FOzMD1FQjKk - - [ ] https://www.youtube.com/watch?v=FOzMD1FQjKk + - [x] Linear Time BuildHeap (max-heap): https://www.youtube.com/watch?v=MiyLo8adrWw - [ ] Implement a max-heap: - - [ ] create_heap - create an empty heap - - [ ] insert - - [ ] sift_up - needed for insert - - [ ] extract_max - - [ ] sift_down - needed for extract_max - - [ ] get_max - returns the max item, without removing it + - [x] insert + - [x] sift_up - needed for insert + - [x] get_max - returns the max item, without removing it + - [x] extract_max + - [x] sift_down - needed for extract_max + - [x] get_size() - return number of elements stored - [ ] remove(i) - removes item at index x - [ ] heapify - create a heap from an array of elements - [ ] size() - return number of elements in heap @@ -463,8 +461,8 @@ Then test it out on a computer to make sure it's not buggy from syntax. - [ ] **splay trees** - [ ] https://www.coursera.org/learn/data-structures/lecture/O9nZ6/splay-trees - - [ ] UCB: https://www.youtube.com/watch?v=G5QIXywcJlY - - [ ] https://www.youtube.com/watch?v=QnPl_Y6EqMo + - [ ] CS 61B Lecture 34: Splay Trees: https://www.youtube.com/watch?v=G5QIXywcJlY&list=PL4BBB74C7D2A1049C&index=34 + - [ ] Lecture 04, 09/13: Splay Trees: https://www.youtube.com/watch?v=QnPl_Y6EqMo - [ ] **red/black trees** - [ ] https://class.coursera.org/algs4partI-010/lecture/50 @@ -529,6 +527,10 @@ Then test it out on a computer to make sure it's not buggy from syntax. - [ ] Dijkstra's algorithm - [ ] A* +- For Curiosity: + - [ ] MIT Lecture: Speeding up Dijkstra: https://www.youtube.com/watch?v=CHvQ3q_gJ7E + - covers Fibonacci heap, a more complicated but more efficient heap than binary heap + You'll get more graph practice in Skiena's book (see Books section below) and the interview books ## Sorting @@ -572,6 +574,7 @@ You'll get more graph practice in Skiena's book (see Books section below) and th - [ ] Recursion - when it is appropriate to use it + - [ ] Short Series on Recurrence Relations: https://www.youtube.com/playlist?list=PLSVu1-lON6LybCHQs8Io_EhyrEQ4b1xAF - [ ] open-ended problems - manipulate strings