osmium said:
Focusing on the sort part of your question.
The best part is, that if you can read the whole thing,
then Bill Gates wants your resume!
http://www.google.com/search?hl=en&...if+you+can+read+the+whole+thing"+"bill+gates"
Knuth is not light reading.
However, Knuth is substantial to the point where something that
I once heard Pablo Picaso say on television, applies:
"What I have to say is so substantial,
that if you only understand a little bit,
it is enough."
I learned heapsort and Shellsort and quicksort from Knuth.
I think the best way to get
started in this is to look for Java applets on the internet.
I learned mergesort from a Java applet on the internet.
I don't recall where I learned bubblesort and insertionsort.
How to implement bsearch as an O(log(N)) algorithm,
should be obvious,
if you can understand either heapsort or quicksort,
or maybe even if you can't.