💻
Grokking Algorithm
  • Chapter 1: Big O notation & Binary Search
  • Chapter 2: Selection Sort
  • Chapter 3: Recursion
  • Chapter 4: QuickSort
  • Chapter 5: Hash Tables
  • Chapter 6: Breadth-first Search
  • Chapter 7: Dijkstra's Algorithm
  • Chapter 8: Greedy Algorithm
  • Chapter 9: Dynamic Programming
  • Chapter 10: K-nearest neighbors
  • Chapter 11: Next?
Powered by GitBook
On this page

Was this helpful?

Chapter 11: Next?

  • Tree

    • Binary Search Tree

    • B-trees

    • Red-black trees

    • Heaps

    • Splay trees

  • Inverted indexes

    • search engine works

  • The Fourier transform

    • given a song, the transform can separate it into individual frequencies.

  • Parallel algorithms

    • Overhead of managing the parallelism

    • Load balancing

  • MapReduce

    • the distributed algorithm

    • Suppose you have a table with billions or trillions of rows, and you want to run a complicated SQL query on it. You can’t run it on MySQL, because it struggles after a few billion rows. Use MapReduce through Hadoop!

    • MapReduce in particular is built up from two simple ideas: the map function and the reduce function

  • Bloom filters and HyperLogLog

  • The SHA algorithms

    • Comparing files

    • Checking passwords

  • Locality-sensitive hashing

  • Diffie-Hellman key exchange

    • RSA

  • Linear programming

PreviousChapter 10: K-nearest neighbors

Last updated 5 years ago

Was this helpful?