I thoroughly enjoyed my algorithms class but I felt that it lacked rigor. Most of the time I was able to intuitively understand why the algorithms presented worked and why they had the time complexity that was presented but I'd like to be able to prove such things. As such, I'd like a book that goes over lots of common algorithms and has a focus on proving the correctness and time complexity of the algorithms. Any good recommendations?
Note: please edit this answer and add to it, do not create new answers
The Art of Computer Programming by Knuth
A Discipline of Programming by Dijkstra
Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein
Algorithms by Sedgewick and Wayne
Dr Dobb's Essential Books on Algorithms and Data Structures
This also includes
introduction to algorithms
Algorithms on Strings, Trees and Sequences by Gusfield
Concrete Mathematics: A Foundation for Computer Science by Graham, Knuth, and Patashnik
The Theory of Parsing, Translation, and Compiling (part I and II) by Aho and Ullman
The Design and Analysis of Computer Algorithms by Aho, Hopcroft, and Ullman
Introduction to Automata Theory, Languages and Computation by Hopcroft and Ullman
Obviously the list can be extended quite a bit.
Note that as the field of computer science has expanded, books are unable to keep up and thus you'll have to turn to research papers.