Design and Analysis of Computer Algorithms
by David M. Mount
Publisher: University of Maryland 2003
Number of pages: 135
Programming is a very complex task, and there are a number of aspects of programming that make it so complex. The first is that most programming projects are very large, requiring the coordinated efforts of many people. (This is the topic a course like software engineering.) The next is that many programming projects involve storing and accessing large quantities of data efficiently. (This is the topic of courses on data structures and databases.) The last is that many programming projects involve solving complex computational problems, for which simplistic or naive solutions may not be efficient enough. The complex problems may involve numerical data (the subject of courses on numerical analysis), but often they involve discrete data. This is where the topic of algorithm design and analysis is important.
Home page url
Download or read it online for free here:
by Catherine Leung - GitBook
This book is a survey of several standard algorithms and data structures. It will also introduce the methodology used to perform a formal analysis of an algorithm so that the reason behind the different implementations can be better understood.
by Marko Petkovsek, Herbert S. Wilf, Doron Zeilberger - AK Peters, Ltd.
The book shows how some computer algorithms can simplify complex summations and if there is no such simplification they will prove this to be the case. The authors present the underlying mathematical theory, and the principle theorems and proofs.
by Macneil Shonle, Matthew Wilson, Martin Krischik - Wikibooks
An accessible introduction into the design and analysis of efficient algorithms. It explains only the most basic techniques, and gives intuition for and an introduction to the rigorous mathematical methods needed to describe and analyze them.
by Wojciech Szpankowski - Wiley-Interscience
A book on a topic that has witnessed a surge of interest over the last decade, owing in part to several novel applications in data compression and computational molecular biology. It describes methods employed in average case analysis of algorithms.