Skip to content

Algoritms

Guides

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