# 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