Quora
http://www.quora.com/Algorithms/What-is-the-best-non-boring-way-to-learn-algorithms#
Search Algorithm
http://qiao.github.io/PathFinding.js/visual/
http://www.topcoder.com
http://heuristicswiki.wikispaces.com/IDA*
http://codeforces.com
http://www.codechef.com/problems/LEBALONS
http://www.ambesty.com/Content/Welcome/Prerequisite/prerequisite.aspx?sec=1
BigO Notation
A standard way to assess the efficiency of code.
Fastest to Slowest
- O(1) - Constant: input size n has no effect on execution time.
- O(log(n)) - Log : When only part of the total input size is visited.
- O(n) - Linear
- O(n*log(n)) - Some items are visited more than once.
- O(n^2) - Power
- O(2^n) - Exponential: For every input that you give the size keeps on increasing and the total work multiplies