Algorithms Unlocked Practice
Now on GitHub: https://github.com/shaunluttin/algorithms-unlocked
Each linked item goes to an live JavaScript REPL of the algorithm.
Searching
- Linear Search – TODO
- Binary Search – TODO
Sorting
- Selection Sort with Loop – I call this “find and swap.” (p. 33)
- Insertion Sort with Loop – I call this “get next and place it.” (p. 37)
- Merge Sort – I call this “scatter and collect.” (p. 41)
- Quick Sort – I call this “if its low, then swap and move the line.” (p. 51)
- Counting Sort – I call this “determine index and place it there.” (p. 67)
- Radix Sort – I call this “repeated stable sort from low to high.” (p. 68)
- Topological Sort – I call this “make piles and take from the top.” (p. 77)
- Dag Shortest Path – I call this “…” (p. 87)
-
Shortest Path - I call this "..." (p. 90)
- Dijkstra with a simple array
-
Dijkstra with a binary heap
- insert
- extract-min
- decrease-key
- heap-sort
- Dijkstra with a Fibonacci heap
Data Structures
- array
-
linked list
- singly linked list – supports insert
- doubly linked list – supports insert and delete
- binary heap
References
- Cormen, T. H. (2013). Algorithms unlocked .
- https://repl.it
- http://jshint.com
- http://asciiflow.com