首页 > 代码库 > Algorithm & Design

Algorithm & Design

-!1. Greedy vs. DP: http://blog.csdn.net/yelbosh/article/details/7649717. 
     Multiple choices or not: Greedy has only 1 optimal last choice; DP picks the best among several choices (not necessarily optimal)

-2. Consistent Hashing
      http://blog.csdn.net/sparkliang/article/details/5279393.   A ring, virtual nodes.

    Database Sharding
  http://blog.csdn.net/bluishglc/article/details/6161475

3. Lock-Free Programming (lock-free queue\map etc.)
    http://kukuruku.co/hub/cpp/lock-free-data-structures-introduction    

4. 八大排序算法:http://www.cricode.com/3212.html

7. String Search: KMP vs. Boyer-Moore vs. RK

8. 3 solutions to Longest Palindrome: DP\Suffix Tree\Manacher
    DP: bottom-up DP
    Suffix Tree solution: Longest common string between S and reverse(S) -> deepest non-leaf node
    !Manacher: http://blog.csdn.net/bruce_zeng/article/details/8629572: reuse calculated palin-radius due to the symmetric prop

11. ?RMQ

13. A*

14. Joseph Circle: winner is who calls 1. so f[i] = (f[i-1] + k) % n

[ Optional ]

a. *数位dp?

b. Non-deterministic Primality Testing: Miller-Rabin, Solovay-Strassen etc. 

Algorithm & Design