Moved Fibonacci Heap down to graphs. Some implementation functions for priority queue.

This commit is contained in:
John Washam 2016-07-08 20:24:59 -07:00
parent f472fcd7df
commit fb2d4ef7d8

View File

@ -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] 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] 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 - [x] CS 61B Lecture 24: Priority Queues: https://www.youtube.com/watch?v=yIUFT6AKBGE&index=24&list=PL4BBB74C7D2A1049C
- [ ] Fibonacci Heap: - [x] Linear Time BuildHeap (max-heap): https://www.youtube.com/watch?v=MiyLo8adrWw
- [ ] https://www.youtube.com/watch?v=FOzMD1FQjKk
- [ ] https://www.youtube.com/watch?v=FOzMD1FQjKk
- [ ] Implement a max-heap: - [ ] Implement a max-heap:
- [ ] create_heap - create an empty heap - [x] insert
- [ ] insert - [x] sift_up - needed for insert
- [ ] sift_up - needed for insert - [x] get_max - returns the max item, without removing it
- [ ] extract_max - [x] extract_max
- [ ] sift_down - needed for extract_max - [x] sift_down - needed for extract_max
- [ ] get_max - returns the max item, without removing it - [x] get_size() - return number of elements stored
- [ ] remove(i) - removes item at index x - [ ] remove(i) - removes item at index x
- [ ] heapify - create a heap from an array of elements - [ ] heapify - create a heap from an array of elements
- [ ] size() - return number of elements in heap - [ ] 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** - [ ] **splay trees**
- [ ] https://www.coursera.org/learn/data-structures/lecture/O9nZ6/splay-trees - [ ] https://www.coursera.org/learn/data-structures/lecture/O9nZ6/splay-trees
- [ ] UCB: https://www.youtube.com/watch?v=G5QIXywcJlY - [ ] CS 61B Lecture 34: Splay Trees: https://www.youtube.com/watch?v=G5QIXywcJlY&list=PL4BBB74C7D2A1049C&index=34
- [ ] https://www.youtube.com/watch?v=QnPl_Y6EqMo - [ ] Lecture 04, 09/13: Splay Trees: https://www.youtube.com/watch?v=QnPl_Y6EqMo
- [ ] **red/black trees** - [ ] **red/black trees**
- [ ] https://class.coursera.org/algs4partI-010/lecture/50 - [ ] 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 - [ ] Dijkstra's algorithm
- [ ] A* - [ ] 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 You'll get more graph practice in Skiena's book (see Books section below) and the interview books
## Sorting ## Sorting
@ -572,6 +574,7 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
- [ ] Recursion - [ ] Recursion
- when it is appropriate to use it - when it is appropriate to use it
- [ ] Short Series on Recurrence Relations: https://www.youtube.com/playlist?list=PLSVu1-lON6LybCHQs8Io_EhyrEQ4b1xAF
- [ ] open-ended problems - [ ] open-ended problems
- manipulate strings - manipulate strings