A series of interesting tutorials from TopCoder that are educational and fun.
Also, I’ve found these high-level Wikipedia articles to be useful review.
From the Wikipedia Big O notation page, this handy table:
|constant||Determining if a number is even or odd; using a constant-size lookup table or hash table|
|double logarithmic||Finding an item using interpolation search in a sorted array of uniformly distributed values.|
|logarithmic||Finding an item in a sorted array with a binary search or a balanced search tree as well as all operations in a Binomial heap.|
|fractional power||Searching in a kd-tree|
|linear||Finding an item in an unsorted list or a malformed tree (worst case) or in an unsorted array; Adding two n-bit integers by ripple carry.|
|linearithmic, loglinear, or quasilinear||Performing a Fast Fourier transform; heapsort, quicksort (best and average case), or merge sort|
|quadratic||Multiplying two n-digit numbers by a simple algorithm; bubble sort (worst case or naive implementation), Shell sort, quicksort (worst case), selection sort or insertion sort|
|polynomial or algebraic||Tree-adjoining grammar parsing; maximum matching for bipartite graphs|
|L-notation or sub-exponential||Factoring a number using the quadratic sieve or number field sieve|
|exponential||Finding the (exact) solution to the travelling salesman problem using dynamic programming; determining if two logical statements are equivalent using brute-force search|
|factorial||Solving the traveling salesman problem via brute-force search; generating all unrestricted permutations of a poset; finding the determinant with expansion by minors.|