Updated queues.
This commit is contained in:
parent
b6b1203a31
commit
5084c9a2de
19
plan.txt
19
plan.txt
@ -213,15 +213,15 @@ Then test it out on a computer to make sure it's not buggy from syntax.
|
|||||||
- Description: https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists
|
- Description: https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists
|
||||||
- No need to implement
|
- No need to implement
|
||||||
* - Stacks
|
* - Stacks
|
||||||
- https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks
|
* - https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks
|
||||||
- https://class.coursera.org/algs4partI-010/lecture/18
|
* - https://class.coursera.org/algs4partI-010/lecture/18
|
||||||
- https://class.coursera.org/algs4partI-010/lecture/19
|
* - https://class.coursera.org/algs4partI-010/lecture/19
|
||||||
- https://www.lynda.com/Developer-Programming-Foundations-tutorials/Using-stacks-last-first-out/149042/177120-4.html
|
* - https://www.lynda.com/Developer-Programming-Foundations-tutorials/Using-stacks-last-first-out/149042/177120-4.html
|
||||||
- Will not implement. Implementing with array is trivial.
|
* - Will not implement. Implementing with array is trivial.
|
||||||
Queues
|
Queues
|
||||||
- https://class.coursera.org/algs4partI-010/lecture/20
|
* - https://class.coursera.org/algs4partI-010/lecture/20
|
||||||
- https://www.coursera.org/learn/data-structures/lecture/EShpq/queue
|
* - https://www.coursera.org/learn/data-structures/lecture/EShpq/queue
|
||||||
- Circular buffer/FIFO: https://en.wikipedia.org/wiki/Circular_buffer
|
* - Circular buffer/FIFO: https://en.wikipedia.org/wiki/Circular_buffer
|
||||||
- Implement using linked-list, with tail pointer:
|
- Implement using linked-list, with tail pointer:
|
||||||
- enqueue(value) - adds value at position at tail
|
- enqueue(value) - adds value at position at tail
|
||||||
- dequeue() - returns value and removes least recently added element (front)
|
- dequeue() - returns value and removes least recently added element (front)
|
||||||
@ -230,7 +230,8 @@ Queues
|
|||||||
- enqueue(value) - adds item at end of available storage
|
- enqueue(value) - adds item at end of available storage
|
||||||
- dequeue() - returns value and removes least recently added element
|
- dequeue() - returns value and removes least recently added element
|
||||||
- empty()
|
- empty()
|
||||||
- Cost:
|
- full()
|
||||||
|
* - Cost:
|
||||||
- a bad implementation using linked list where you enqueue at head and dequeue at tail would be O(n)
|
- a bad implementation using linked list where you enqueue at head and dequeue at tail would be O(n)
|
||||||
because you'd need the next to last element, causing a full traversal each dequeue
|
because you'd need the next to last element, causing a full traversal each dequeue
|
||||||
enqueue: O(1) (linked list and array)
|
enqueue: O(1) (linked list and array)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user