Primarily designed as a text for undergraduate students of computer science and engineering and information technology, and postgraduate students of computer applications, the book would also be useful to postgraduate students of computer science and IT (M.Sc., Computer Science; M.Sc., IT). The objective of this book is to expose students to basic techniques in algorithm design and analysis.This well organized text provides the design techniques of algorithms in a simple and straightforward manner. Each concept is explained with an example that helps students to remember the algorithm devising techniques and analysis. The text describes the complete development of various algorithms along with their pseudo-codes in order to have an understanding of their applications. It also discusses the various design factors that make one algorithm more efficient than others, and explains how to devise the new algorithms or modify the existing ones.