9

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?

Raphael
  • 72,336
  • 29
  • 179
  • 389
Budge
  • 101
  • 5
  • 3
    Knuth's books usually have analysis, so look into the art of computer programming. – Pavel Mar 11 '16 at 01:45
  • 2
    Welcome to CS.SE! This question is pretty broad: there are lots of algorithm textbooks that have a significant focus on proofs of correctness and time complexity. What research have you already done? What options have you considered, and why did you reject them? (See http://cs.stackexchange.com/help/how-to-ask.) Also, this site doesn't work well for recommendations, as they're inherently subjective; see our [help/dont-ask]. Can you think of any way to edit the question to address these concerns? – D.W. Mar 11 '16 at 01:52
  • @D.W. I do agree that the question is broad in the sense that there may exist many correct answers. However, you mention that "there are lots of algorithms textbooks that have significant focus on proofs of correctness and time complexity", if this is the case then perhaps you could suggest one? This would clearly be an appropriate and concrete answer to the question. Also, if questions like this are discouraged then the books tag should just be done away with as it is the exact reason that the tag exists. – Budge Mar 11 '16 at 02:00
  • 4
    I am not sure which book you've used in class, but Introduction to Algorithms by Cormen et al. is considered the most popular textbook for undergraduate and most graduate courses in algorithms. It covers an enormous amount of material, with a large amount of references provided. I don't think you will find a better book on algorithms than this one, unless you are looking for a very specific topic. – user340082710 Mar 11 '16 at 02:21
  • 2
    I've also found this post that has other suggestions: https://cs.stackexchange.com/questions/2495/book-for-algorithms-beyond-cormen?rq=1 – user340082710 Mar 11 '16 at 02:22
  • 2
    We don't have a strict policy for list questions, but there is a general dislike. Please note also this and this discussion; you might want to improve your question as to avoid the problems explained there. If you are not sure how to improve your question maybe we can help you in [chat]? – Raphael Mar 11 '16 at 07:16
  • 1
    @Raphael, your first link is a post from stack overflow so it isn't necessarily relevant which you actually point out in your second link. Additionally, the response to the question you posted in your second link specifically mentions book suggestions as an appropriate list question. Also, my post has been upvoted and, therefore, seems of general interest to the community. – Budge Mar 11 '16 at 12:21
  • @Budge "we" refers to the Stack Exchange community as a whole. And, honestly, the mods have a pretty good idea of what is and is not relevant. – David Richerby Mar 11 '16 at 17:50

1 Answers1

5

Note: please edit this answer and add to it, do not create new answers

Rigorous books:

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 + Data Structures = Programs by Wirth and its followup:
Algorithms and Data Structures

The Science of Programming by Gries and
A Logical Approach to Discrete Math by the same author

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.

Anton Trunov
  • 3,469
  • 1
  • 18
  • 26
Johan
  • 1,070
  • 9
  • 27
  • At least my version of Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein is not rigorous when defining asymptotic notations, https://math.stackexchange.com/questions/2536528/how-to-define-and-use-rigorously-the-asymptotic-notations It tries to define $\Theta$ notation as a set but then some weird way adds a set plus a polynomial like $e^x=1+x+\theta (x^2)$ – user2219896 Nov 28 '17 at 19:28