Dasgupta has a pretty good prose style too, more patient and beginner-friendly than either Skiena or Knuth. Sometimes, I found Dasgupta too verbose and felt the authors belabored the obvious too much, but other times that was an asset rather than a weakness (e.g. in the material on Fast Fourier Transforms).
CLRS and Dasgupta both use high-level pseudocode that resembles Pascal, although not too slavishly. CLRS expresses some things as if they were methods or fields of an object, in a semi-object oriented way. Skiena also does some of this, but in addition he uses real C code.
CLRS has the best balance of breadth and depth: it covers basic data structures; some more advanced ones like red-black trees, B-trees, and the union-find data structure; algorithmic paradigms like greediness and dynamic programming; graphs, shortest paths, and network flows; sorting; amortized analysis; and an assortment of other topics such as number theoretic algorithms, cryptography, linear programming, string matching, and NP completeness.
Knuth, of course, is the master of depth. Volume 1 covers math background and fundamental data structures; Volume 2 covers random number generation and arithmetic; Volume 3 covers searching and sorting, going through various sort routines and some more advanced data structures, such as B-trees, as well as developing the whole theory behind hash tables and how to choose hashing functions and table sizes; and Volume 4 covers combinatorial algorithms. Volume 4 is split into three subvolumes; right now, only Volume 4A has actually come out.
Professor Sanjoy Dasgupta develops algorithms for the statistical analysis of high-dimensional data. Such data is now widespread, in domains ranging from environmental modeling to genomics to web search. The geometry of high-dimensional spaces presents unusual challenges; many traditional statistical procedures were developed with one- or two-dimensional data in mind and do not scale well to this modern context. Some of them are very inefficient; others give poor results because of counter-intuitive effects in high dimension. Dasgupta has developed the first provably correct, efficient algorithms for a variety of canonical statistical tasks, especially related to clustering (grouping) data. He is one of the few machine learning researchers whose work combines algorithmic theory with geometry and mathematical statistics. He adds a strong theoretical focus to UCSD's CSE artificial intelligence and bioinformatics groups.
I am looking for a concise introductory text on algorithms with a high ratio $$\frac\mboxtheory covered\mboxtotal 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.
Jeff Erickson will not say this himself, but his online lecture notes 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.
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)
I'd go for Combinatorial Optimization: Theory and Algorithms - Korte & Vygen. 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.
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 _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.
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.
Algorithms by Sedgewick 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 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]
try Concise encyclopedia of computer science, 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:
This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasis is placed on understanding the crisp mathematical idea behind each algorithm, in a manner that is intuitive and rigorous without being unduly formal.
Features include: The use of boxes to strengthen the narrative: pieces that provide historical context, descriptions of how the algorithms are used in practice, and excursions for the mathematically sophisticated.
An accessible treatment of linear programming introduces students to one of the greatest achievements in algorithms. An optional chapter on the quantum algorithm for factoring provides a unique peephole into this exciting topic. In addition to the text, DasGupta also offers a Solutions Manual, which is available on the Online Learning Center.
This lecture notes uniquely combines rigor and comprehensiveness. It covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study.
The goal of the book is to show you how you can methodically apply different techniques to your own algorithms to make them more efficient. While this book mostly highlights general techniques, some well-known algorithms are also looked at in depth.
This book doesn't only focus on an imperative (or procedural) approach, but also includes purely functional algorithms and data structures. It teaches you how to think like a programmer - find the practical efficiency algorithms to solve your problems.
From the inventor of Pascal and Modula-2 comes a new version of Niklaus Wirth's classic work, Algorithms + Data Structure = Programs (PH, l975). It includes new material on sequential structure, searching and priority search trees.
This book serves as the primary textbook for any algorithm design course while maintaining its status as the premier practical reference guide to algorithms, intended as a manual on algorithm design for both students and computer professionals.
This book was very useful to easily understand the algorithms. This book is having enough examples on every algorithm. It has written for the sake of students to provide complete knowledge on Algorithms.
The book describes 45 algorithms from the field of Artificial Intelligence. All algorithm descriptions are complete and consistent to ensure that they are accessible, usable and understandable by a wide audience.
This book shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions, including greedy and local search algorithms, dynamic programming, linear and semidefinite programming, and randomization, etc.
This is the only book for teaching and referencing of Planning Algorithms in applications including robotics, computational biology, computer graphics, manufacturing, aerospace applications and medicine, etc.
Focusing on algorithms for distributed-memory parallel architectures, the book extracts fundamental ideas and algorithmic principles from the mass of parallel algorithm expertise and practical implementations developed over the last few decades.
This book presents a new approach to numerical analysis for modern computer scientists, covers a wide range of topics - from numerical linear algebra to optimization and differential equations - focusing on real-world motivation and unifying themes.
Dr. Dipankar Dasgupta joined the University of Memphis as an assistant professor in 1997 and became a full professor in 2004. He is the recipient of the 2011-2012 Willard R. Sparks Eminent Faculty Award, the highest distinction and most prestigious honor given to a faculty member by the University of Memphis. Dr. Dasgupta currently holds the William Hill Professorship at the University of Memphis. He is an IEEE Fellow, recipient of 2014 ACM SIGEVO Impact Award, and ACM Distinguished Speaker. Dr. Dasgupta has been an Advisory Board member of the Geospatial Data Center (GDC) at the Massachusetts Institute of Technology since 2010.
c80f0f1006