Algoritms
Guides
- A guide to learning algorithms through LeetCode
- Binary Search - Create a room, invite your friends, and race to finish the problems.
Text
- "Levenshtein distance is a text similarity measure that compares two words and returns a numeric value representing the distance between them. The distance reflects the total number of single-character edits required to transform one word into another."
- JS implementations: https://www.npmjs.com/search?q=levenshtein
Visualizing
- https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
- https://visualgo.net/en
General
- Optimal Stopping and the 'Secretary Problem' (which helps solve the challenges of selling a house, parking a car, dating, etc)
- Threshold Rule
- Cost Benefit Analysis
- Win-stay vs lose-shift
- Regret Minimization Framework
- Upper Confidence Bounds
- Explore vs Exploit
- Gittins Index
- Ebbinghouse Curve
- Priority Inversion vs Priority Inheritance
- Earliest Due Date
Sorting
"Sorting algorithms are everywhere, until you look you may not realize it. There are many types...""
- Bubble Sort (extremely inefficient / or quadratic time in Big O)
- Insertion Sort
- Merge Sort
- Bucket Sort
- Comparison Counting Sort
- Quick Sort
Clairvoyant Algorithms
Or one informed by data from the future :)
- Random
- FIFO (First In First Out)
- LRU (Least Recently Used)
Greedy algorithms
"A greedy algorithm is any algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage", Wikipedia
Types
- Pure greedy algorithms
- Orthogonal greedy algorithms
- Relaxed greedy algorithms
Garbage Collection
- Tricolor mark-and-sweep (Edsger W. Dijkstra, Leslie Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens)
Other
- Random Search
- Hill Climbing
Clustering Algorithms
- k-means