Algorithm the last but not the least
        
        
            
                Dynamic Programing
knapsack problem
- You’re a thief with a knapsack that can carry 4 lb of goods, You have four items that you can put into the knapsack.
 
| Stereo | Laptop | Guitar | Iphone | 
|---|---|---|---|
| $3000 | $2000 | $1500 | $2000 | 
| 4lbs | 3lbs | 1lbs | 1lbs | 
- solution of knapsack problem

 
longest common substring
- calculate the longest common substring between blue and clues, fosh compare with fish, fort, longest common substring is used for word wrap.
 - solution of longest common substring

 
K-Nearest-Neighbors
- Classification, categorization into a group.
 - Regression, predicting a response (like a number).
 - Feature extraction means converting an item (like a fruit or a user) into a list of numbers that can be compared.
 - Picking good features is an important part of a successful KNN algorithm.
 
Algorithms, Go Next
- Trees, self-banlance tree, B-trees, Red-black trees, Heaps, Splay trees.
 - Inverted indexes, a hash that maps words to places where they appear.
 - The Fourier transform, given a smoothie, the Fourier transform will tell you the ingredients in the smoothie.
 - Parallel algorithms, consider for overhead of managing the parallelism and load balancing.
 - Map Reduce, the map function and the reduce function.
 - Bloom filters, Bloom filters are probabilistic data structures. Bloom filters are great because they take up very little space.
- False positives are possible. Google might say, “You’ve already crawled this site,” even though you haven’t.
 - False negatives aren’t possible. If the bloom filter says, “You haven’t crawled this site,” then you definitely haven’t crawled this site.
 
 - HyperLogLog, HyperLogLog approximates the number of unique elements in a set. Just like bloom filters, it won’t give you an exact answer, but it comes very close and uses only a fraction of the memory a task like this would otherwise take.
 - The SHA algorithms, a one-way hash, can’t convert those hashes back to the original, and it’s locality insensitive, opposite with Simhash.
 - Diffie-Hellman key exchange, private key and public key.
 - Linear programming, is used to maximize something given some constraints, such as the knapsack problem.