<p>Jeff Erickson will not say this himself, but <a href="http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/">his online lecture notes</a> are among the best out there to cover the basics of algorithm design at a level that doesn't patronize the reader. I use them in my grad algorithms class, and for a research mathematician, these notes convey the right kind (and level) of intuition, allowing you to fill in the details yourself easily. </p>

CC BY-SA 3.0
2013-09-17T13:09:18.873Z
These are Great notes.
Turbo
CC BY-SA 3.0
2013-09-17T03:37:26.840Z
2013-09-17T03:37:26.840Z
Suresh Venkat
<p>I like this textbook very much:</p>

<p>Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani: <strong>Algorithms</strong><br>
Published by <a href="http://highered.mcgraw-hill.com/sites/0073523402/">McGraw-Hill</a> 2007. </p>

<p>I don't calculate your suggested ratio but I think you will also like it :)</p>

CC BY-SA 3.0
2013-09-16T15:07:18.107Z
Available here: http://www.cs.berkeley.edu/~vazirani/algorithms.html
usul
CC BY-SA 3.0
2013-09-17T06:42:38.493Z
This looks like a nice book I will certainly try out. Thanks for the suggestion.
Gregor
CC BY-SA 3.0
2013-09-16T13:59:31.147Z
2013-09-16T13:59:31.147Z
user13136
<p>Knuth's "<a href="http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming">The Art of Computer Programming</a>" would probably be <em>the</em> book with the highest ratio. </p>

<p>If you want a more textbook style book then Cormen, Leiserson, Rivest, and Stein's "<a href="http://en.wikipedia.org/wiki/Introduction_to_Algorithms">Introduction to Algorithms</a>" would be my suggestion to a mathematician.</p>

<p>There are also many lecture notes and a few Wikibooks on algorithms.</p>

CC BY-SA 3.0
2013-09-16T16:30:01.347Z
Not so sure about CLRS as an introduction for a researcher. I definitely know many CS researchers who do not like to use it to look up things. TAoCP is an interesting quandry for me. I agree that it maxes the ratio, but there is a lot of attention to programmatic detail that a mathematician might find distracting.
Vijay D
CC BY-SA 3.0
2013-09-16T16:34:49.293Z
@Vijay, yes, I know that CLRS is not everyone's favorite. Still I feel other textbooks are generally made "more readable" for undergrad students by lots of explanations which are not really needed for a mathematically mature person, this one is mathematically solid and relatively concise. I think it is a good book for people with good mathematical background.
Kaveh
CC BY-SA 3.0
2013-09-16T16:38:58.760Z
[cont.] Your point about TAoCP is also correct but not surprising in my opinion considering that it is written by Knuth. Based on my own experience it should be easy to skip the parts about MIX and MMIX when one doesn't care about them.
Kaveh
CC BY-SA 3.0
2013-09-17T06:45:29.347Z
Knuth is actually a book I knew before but had forgotten about entirely -- so thanks for the reminder. CLRS seems to be nice book but maybe a bit too wordy for my taste. Then on the other hand, I only had quick two hour look at it.
Gregor
CC BY-SA 3.0
2013-09-17T18:07:07.977Z
@Gregor, you might want to also check "The Algorithm Design Manual" by Steven Skiena.
Kaveh
CC BY-SA 3.0
2013-09-18T21:25:42.780Z
Contrary to Vijay, I think that CLRS is *the* right way to learn algorithms. It explains everything really nicely, and is worth another look.
Huck Bennett
CC BY-SA 3.0
2013-09-16T16:14:22.527Z
2013-09-16T16:14:22.527Z
Kaveh
<p><strong>Algorithm Design by Kleinberg Tardos</strong> This book helps develop a concrete understanding of how to design good algorithms and talk of their correctness and efficiency. (I studied this in my first year at college, very much readable) </p>

<p>For an online copy/lecture notes/reference, (as suggested by Suresh Venkat) go with  <strong>Jeff Erikson's <a href="http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/">lecture notes</a></strong>. They are really awesome! </p>

CC BY-SA 3.0
2013-09-17T15:36:44.760Z
2013-09-17T15:36:44.760Z
Subhayan
<p>I'd go for <a href="http://rads.stackoverflow.com/amzn/click/3642244874">Combinatorial Optimization: Theory and Algorithms - Korte &amp; Vygen</a>. It will go you a good overview of algorithms with a constant focus on optimization. This book is intended for those with a heavy math inclination IMHO.</p>

<p>This would go well with Algorithms: Dasgupta &amp; Papdimitrou, I believe.</p>

CC BY-SA 3.0
2013-09-17T06:51:16.560Z
This book seems to come closest to what I had in mind in terms of the above ratio. I will look at it more seriously soon and maybe use it together with Dagupta et al. indeed. So thanks for the suggestion.
Gregor
CC BY-SA 3.0
2013-09-16T18:27:02.133Z
2013-09-16T18:27:02.133Z
PhD
<p>I wrote a disposition for the algorithms course I attended. It's purpose was exactly that; to be a concise version of the most important topics covered in our text box (which was CLRS). I'm reluctant to publish it on Scribd.com or anywhere else until I have examined the document thoroughly and being satisfied with its contents, but a working copy can be obtained at <a href="https://github.com/CasperBHansen/DIKU_AD_2013/" rel="nofollow">https://github.com/CasperBHansen/DIKU_AD_2013/</a>. In order to read it you will need to know how to build the pdf document from the LaTeX source, which is what the repository is for. The document itself is just 65 pages long.</p>

<p>An older copy can be downloaded directly from my website at <a href="http://casperbhansen.dk/files/ad-disposition.pdf" rel="nofollow">http://casperbhansen.dk/files/ad-disposition.pdf</a> — this obviously contains more typos/mistakes, which have since been corrected.</p>

<p>It does contain several typos because it was written over just a few days whilst undergoing another exam and obviously preparing for the algorithms exam by practicing proofs, and I have yet to patch the typos and errors up as I have been very busy ever since. But I'm sure anyone who reads it would recognise the mistakes easily, as they are usually in contradiction with accompanying text or formulae, so it is easily figured out whenever a typo occurs.</p>

<p>I hope it can help you get started.</p>

CC BY-SA 3.0
2013-09-17T17:22:31.803Z
2013-09-17T17:22:31.803Z
Casper B. Hansen
<p>here are two other refs that may be helpful.</p>

<ul>
<li><p><a href="http://algs4.cs.princeton.edu/home/" rel="nofollow">Algorithms by Sedgewick</a> you said "introductory"; this book is sometimes used in undergraduate CS classes, although it could be used in some graduate classes. Sedgewick has other very technical refs on TCS and some of this mathematical style is reflected in Algorithms and its a generally succinct style. the coverage is very central to (T)CS (but not so much in advanced areas). also wrt "influences" note he did his Phd thesis under Knuth.</p></li>
<li><p><a href="http://en.wikipedia.org/wiki/Computers_and_Intractability%3a_A_Guide_to_the_Theory_of_NP-Completeness" rel="nofollow">Computers and intractability, a guide to the theory of NP completeness</a> an older but still very relevant ref. it focuses on NP completeness of course but in many ways "thats where a lot of the action is". the scope is broad and will probably be appealing to mathematicians in that it is focused on many mathematical objects eg graphs etc, and note theres a section on number theory. as wikipedia states</p></li>
</ul>

<blockquote>
  <p>The book is now outdated in some respects as it does not cover more recent development such as the PCP theorem. It is nevertheless still in print and is regarded as a classic: in a 2006 study, the CiteSeer search engine listed the book as the most cited reference in computer science literature.[3]</p>
</blockquote>

CC BY-SA 3.0
2013-09-17T01:12:45.460Z
2013-09-17T01:12:45.460Z
vzn
<p>try <a href="http://rads.stackoverflow.com/amzn/click/0470090952" rel="nofollow">Concise encyclopedia of computer science</a>, Wiley. unfortunately a complete/thorough table of contents for this ref does not seem to be available on the web [a somewhat unusual omission nowadays, maybe Wiley could correct this on request] but the complete <em>index</em> appears to be browsable on amazon. it has coverage that is much broader than TCS such as hardware concepts etc, but it appears to cover significant parts of TCS eg:</p>

<ul>
<li>Information and Data</li>
<li>Software</li>
<li>Mathematics of Computing</li>
<li>Theory of Computation</li>
<li>Methodologies</li>
<li>Applications</li>
</ul>

<p>it is a 902pp abridged version of the complete encyclopedia, <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470864125.html" rel="nofollow">Encyclopedia of Computer Science, 4th Edition</a>, 2064pp</p>

CC BY-SA 3.0
2013-09-16T19:49:07.913Z
Have you opened this book? Looking at samples from the "complete encyclopedia" like http://media.wiley.com/assets/152/09/mathematics.pdf it looks like a horrible suggestion. It's the exact opposite of a survey of algorithms written for mathematicians.
Sasho Nikolov
CC BY-SA 3.0
2013-09-28T14:45:36.230Z
dont really follow all the strong opposition or the issue with the cited entry. the questioner did not specifically insist that the ref would _contain_ lots of mathematics in the descriptions; while ok angle think crowd is projecting that & a _concise encyclopedia_ would appear to fulfill the basic request & even be advantageous. other option just ran across, somewhat similar see also [encyclopedia of algorithms](http://www.springer.com/computer/theoretical+computer+science/book/978-0-387-30770-1), springer. "No comparable reference work on algorithms is currently available."
vzn
CC BY-SA 3.0
2013-09-28T18:42:41.900Z
are you kidding? he wants a lot of theory covered per page, and asks for a book that's not afraid to present succinct proofs with plenty of formalism. you suggest a chatty general audience book, that's 900 pages and covers little theory.
Sasho Nikolov
CC BY-SA 3.0
2013-09-28T18:43:57.297Z
BTW most of what you write here, including this answer and the above comment, is ungrammatical and illogical to the point of being barely comprehensible.
Sasho Nikolov
CC BY-SA 3.0
2013-09-29T01:38:18.370Z
he said he _understands_ formalism/proofs but did not state the ref should have it. the encyclopedia refs are obviously/naturally relevant/apropos. maybe not perfect, but not worthless or to be trashed either. "good enough" for some purposes. as for your constant/so far endless/consistently _unconstructive_ haranging/griping/personal vendetta over constructive/good faith answers, have no answer to that
vzn
CC BY-SA 3.0
2013-09-16T15:47:22.410Z
2013-09-16T15:47:22.410Z
vzn
<p>I am looking for a concise introductory text on algorithms with a high ratio $$\frac{\mbox{theory covered}}{\mbox{total number of pages}}.$$ It should begin at the beginning but then progress quickly without spending too much time on real world examples, elementary proof techniques, etc. As a research mathematician I have a solid background in mathematics which I happily employ to understand formalisms and condensed proofs, for example.</p>

<p>Do there exist such texts? Any recommendations?</p>

CC BY-SA 3.0
2013-09-16T15:11:17.137Z
somewhat related, [switching from math to tcs study](http://cstheory.stackexchange.com/questions/17684/what-should-i-do-to-switch-from-math-department-to-cs-to-research-tcs-topics)
vzn
<ds.algorithms>
Concise introduction to algorithms for mathematicians
Gregor
# Concise introduction to algorithms for mathematicians

(Asked by: username_0 on 2013-09-16)

I am looking for a concise introductory text on algorithms with a high ratio $$\frac{\mbox{theory covered}}{\mbox{total number of pages}}.$$ It should begin at the beginning but then progress quickly without spending too much time on real world examples, elementary proof techniques, etc. As a research mathematician I have a solid background in mathematics which I happily employ to understand formalisms and condensed proofs, for example.

Do there exist such texts? Any recommendations?

**Tags:** ds.algorithms
> **Comments:**
> **username_1**: somewhat related, [switching from math to tcs study](http://cstheory.stackexchange.com/questions/17684/what-should-i-do-to-switch-from-math-department-to-cs-to-research-tcs-topics)  

---

## 8 answers

### Answer by username_4 on 2013-09-16. Score: 25

I like this textbook very much:

Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani: **Algorithms**  
Published by [McGraw-Hill](http://highered.mcgraw-hill.com/sites/0073523402/) 2007.

I don't calculate your suggested ratio but I think you will also like it :)

> **Comments:**
> **username_5**: Available here: http://www.cs.berkeley.edu/~vazirani/algorithms.html  
> **username_0**: This looks like a nice book I will certainly try out. Thanks for the suggestion.  

---

### Answer by username_2 on 2013-09-17. Score: 18

Jeff Erickson will not say this himself, but [his online lecture notes](http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/) are among the best out there to cover the basics of algorithm design at a level that doesn't patronize the reader. I use them in my grad algorithms class, and for a research mathematician, these notes convey the right kind (and level) of intuition, allowing you to fill in the details yourself easily.

> **Comments:**
> **username_3**: These are Great notes.  

---

### Answer by username_6 on 2013-09-16. Score: 8

Knuth's "[The Art of Computer Programming](http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming)" would probably be *the* book with the highest ratio.

If you want a more textbook style book then Cormen, Leiserson, Rivest, and Stein's "[Introduction to Algorithms](http://en.wikipedia.org/wiki/Introduction_to_Algorithms)" would be my suggestion to a mathematician.

There are also many lecture notes and a few Wikibooks on algorithms.

> **Comments:**
> **username_7**: Not so sure about CLRS as an introduction for a researcher. I definitely know many CS researchers who do not like to use it to look up things. TAoCP is an interesting quandry for me. I agree that it maxes the ratio, but there is a lot of attention to programmatic detail that a mathematician might find distracting.  
> **username_6**: @Vijay, yes, I know that CLRS is not everyone's favorite. Still I feel other textbooks are generally made "more readable" for undergrad students by lots of explanations which are not really needed for a mathematically mature person, this one is mathematically solid and relatively concise. I think it is a good book for people with good mathematical background.  
> **username_6**: [cont.] Your point about TAoCP is also correct but not surprising in my opinion considering that it is written by Knuth. Based on my own experience it should be easy to skip the parts about MIX and MMIX when one doesn't care about them.  
> **username_0**: Knuth is actually a book I knew before but had forgotten about entirely -- so thanks for the reminder. CLRS seems to be nice book but maybe a bit too wordy for my taste. Then on the other hand, I only had quick two hour look at it.  
> **username_6**: @Gregor, you might want to also check "The Algorithm Design Manual" by Steven Skiena.  
> **username_8**: Contrary to Vijay, I think that CLRS is *the* right way to learn algorithms. It explains everything really nicely, and is worth another look.  

---

### Answer by username_9 on 2013-09-17. Score: 6

**Algorithm Design by Kleinberg Tardos** This book helps develop a concrete understanding of how to design good algorithms and talk of their correctness and efficiency. (I studied this in my first year at college, very much readable)

For an online copy/lecture notes/reference, (as suggested by Suresh Venkat) go with **Jeff Erikson's [lecture notes](http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/)**. They are really awesome!


---

### Answer by username_10 on 2013-09-16. Score: 5

I'd go for [Combinatorial Optimization: Theory and Algorithms - Korte & Vygen](http://rads.stackoverflow.com/amzn/click/3642244874). It will go you a good overview of algorithms with a constant focus on optimization. This book is intended for those with a heavy math inclination IMHO.

This would go well with Algorithms: Dasgupta & Papdimitrou, I believe.

> **Comments:**
> **username_0**: This book seems to come closest to what I had in mind in terms of the above ratio. I will look at it more seriously soon and maybe use it together with Dagupta et al. indeed. So thanks for the suggestion.  

---

### Answer by username_11 on 2013-09-17. Score: 4

I wrote a disposition for the algorithms course I attended. It's purpose was exactly that; to be a concise version of the most important topics covered in our text box (which was CLRS). I'm reluctant to publish it on Scribd.com or anywhere else until I have examined the document thoroughly and being satisfied with its contents, but a working copy can be obtained at <https://github.com/CasperBHansen/DIKU_AD_2013/>. In order to read it you will need to know how to build the pdf document from the LaTeX source, which is what the repository is for. The document itself is just 65 pages long.

An older copy can be downloaded directly from my website at <http://casperbhansen.dk/files/ad-disposition.pdf> — this obviously contains more typos/mistakes, which have since been corrected.

It does contain several typos because it was written over just a few days whilst undergoing another exam and obviously preparing for the algorithms exam by practicing proofs, and I have yet to patch the typos and errors up as I have been very busy ever since. But I'm sure anyone who reads it would recognise the mistakes easily, as they are usually in contradiction with accompanying text or formulae, so it is easily figured out whenever a typo occurs.

I hope it can help you get started.


---

### Answer by username_1 on 2013-09-17. Score: 0

here are two other refs that may be helpful.

* [Algorithms by Sedgewick](http://algs4.cs.princeton.edu/home/) you said "introductory"; this book is sometimes used in undergraduate CS classes, although it could be used in some graduate classes. Sedgewick has other very technical refs on TCS and some of this mathematical style is reflected in Algorithms and its a generally succinct style. the coverage is very central to (T)CS (but not so much in advanced areas). also wrt "influences" note he did his Phd thesis under Knuth.
* [Computers and intractability, a guide to the theory of NP completeness](http://en.wikipedia.org/wiki/Computers_and_Intractability%3a_A_Guide_to_the_Theory_of_NP-Completeness) an older but still very relevant ref. it focuses on NP completeness of course but in many ways "thats where a lot of the action is". the scope is broad and will probably be appealing to mathematicians in that it is focused on many mathematical objects eg graphs etc, and note theres a section on number theory. as wikipedia states

> The book is now outdated in some respects as it does not cover more recent development such as the PCP theorem. It is nevertheless still in print and is regarded as a classic: in a 2006 study, the CiteSeer search engine listed the book as the most cited reference in computer science literature.[3]


---

### Answer by username_1 on 2013-09-16. Score: -5

try [Concise encyclopedia of computer science](http://rads.stackoverflow.com/amzn/click/0470090952), Wiley. unfortunately a complete/thorough table of contents for this ref does not seem to be available on the web [a somewhat unusual omission nowadays, maybe Wiley could correct this on request] but the complete *index* appears to be browsable on amazon. it has coverage that is much broader than TCS such as hardware concepts etc, but it appears to cover significant parts of TCS eg:

* Information and Data
* Software
* Mathematics of Computing
* Theory of Computation
* Methodologies
* Applications

it is a 902pp abridged version of the complete encyclopedia, [Encyclopedia of Computer Science, 4th Edition](http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470864125.html), 2064pp

> **Comments:**
> **username_12**: Have you opened this book? Looking at samples from the "complete encyclopedia" like http://media.wiley.com/assets/152/09/mathematics.pdf it looks like a horrible suggestion. It's the exact opposite of a survey of algorithms written for mathematicians.  
> **username_1**: dont really follow all the strong opposition or the issue with the cited entry. the questioner did not specifically insist that the ref would _contain_ lots of mathematics in the descriptions; while ok angle think crowd is projecting that & a _concise encyclopedia_ would appear to fulfill the basic request & even be advantageous. other option just ran across, somewhat similar see also [encyclopedia of algorithms](http://www.springer.com/computer/theoretical+computer+science/book/978-0-387-30770-1), springer. "No comparable reference work on algorithms is currently available."  
> **username_12**: are you kidding? he wants a lot of theory covered per page, and asks for a book that's not afraid to present succinct proofs with plenty of formalism. you suggest a chatty general audience book, that's 900 pages and covers little theory.  
> **username_12**: BTW most of what you write here, including this answer and the above comment, is ungrammatical and illogical to the point of being barely comprehensible.  
> **username_1**: he said he _understands_ formalism/proofs but did not state the ref should have it. the encyclopedia refs are obviously/naturally relevant/apropos. maybe not perfect, but not worthless or to be trashed either. "good enough" for some purposes. as for your constant/so far endless/consistently _unconstructive_ haranging/griping/personal vendetta over constructive/good faith answers, have no answer to that  

---

