An algorithm is a formula for solving a problem, based on conducting a sequence of specified actions. In computer science, an algorithm usually means a small procedure that solves a recurrent problem. A data structure is a data organization, management and storage format that enables efficient access and modification. The good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently.
Data Structure and Algorithm are one of the key topics for any programmer for writing good programs and problem-solving. A good choice of data structure can reduce the complexity of the algorithm and can improve its performance drastically. In this article, we provide some Data Structure and Algorithm books.
Book | Title | Author | Description |
![]() |
LEDA: A Platform for Combinatorial and Geometric Computing | Kurt Mehlhorn, Stefan Näher | LEDA is a library of efficient data types and algorithms and a platform for combinatorial and geometric computing, written in C++ and freely available worldwide. |
![]() |
Code Complete | Steve McConnell | Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. |
![]() |
Data Structures and Algorithms with Object-Oriented Design Patterns in Java | Bruno R. Preiss | This book presents the fundamentals of data structures and algorithms from a modern, object-oriented perspective. The text promotes object-oriented design using Java and illustrates the use of the latest object-oriented design patterns. |
![]() |
Art Gallery Theorems and Algorithms | Joseph O’Rourke | This book is the most comprehensive collection of results on polygons currently available and thus earns its place as a standard text in computational geometry. |
![]() |
Problems on Algorithms | Ian Parberry, William Gasarch | This book provides an extensive and varied collection of useful, practical problems on the design, analysis, and verification of algorithms. |
![]() |
Data Structures and Algorithm Analysis in C++ | Clifford A. Shaffer | A comprehensive treatment focusing on the creation of efficient data structures and algorithms, using C++. |
![]() |
Algorithmic Game Theory | Noam Nisan, Tim Roughgarden, Eva Tardos, Vijay V. Vazirani | This book covers many of the hottest areas of useful new game theory research, introducing deep new problems, techniques, etc |
![]() |
Think Complexity | Allen B. Downey | This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science. |
![]() |
The Algorithm Design Manual | Steven S. Skiena | 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. |
![]() |
Introduction to Design Analysis of Algorithms | K. Raghava Rao | This book was very useful to easily understand the algorithms. This book is having enough examples in every algorithm. It has written for the sake of students to provide complete knowledge of Algorithms. |
![]() |
Matters Computational: Ideas, Algorithms, Source Code | Joerg Arndt | This is a book for a working programmer or anyone interested in methods of computation. The focus is on material that does not usually appear in textbooks on algorithms. We use the C++ programming language for low-level algorithms. |
![]() |
Sequential and Parallel Sorting Algorithms | H. W. Lang – FH Flensburg | From the table of contents: insertion sort, quicksort, heapsort, mergesort, shell sort, lower bounds, external sorting, sorting networks, sorting on mesh-connected processor arrays, sorting contest. Explanations are followed by source code |
![]() |
Structure and Interpretation of Computer Programs | Harold Abelson, Gerald Jay Sussman, Julie Sussman | Our goal is that student who completes this subject should have a good feel for the elements of style and the aesthetics of programming. They should have command of the major techniques for controlling complexity in a large system. |
![]() |
Clever Algorithms | Jason Brownlee | Implementing an Artificial Intelligence algorithm is difficult. Algorithm descriptions may be incomplete, inconsistent, and distributed across a number of papers, chapters, and even websites. |
![]() |
Open Data Structures: An Introduction | Pat Morin – AU Press | Offered as an introduction to the field of data structures and algorithms, the book covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. |
![]() |
Search Algorithms and Applications | Nashat Mansour – InTech | This book demonstrates the applicability of search algorithms for the purpose of developing solutions to problems that arise in a variety of domains. It is targeted to a wide group of readers: researchers, graduate students, and practitioners. |
![]() |
Vector Models for Data-Parallel Computing | Guy Blelloch – The MIT Press | Vector Models for Data-Parallel Computing describes a model of parallelism that extends and formalizes the Data-Parallel model on which the Connection Machine and other supercomputers are based. It presents many algorithms based on the model. |
![]() |
An Introduction to the Analysis of Algorithms, 2nd Edition | Robert Sedgewick, Philippe Flajolet | The authors have drawn from both classical mathematics and computer science, integrating discrete mathematics, elementary real analysis, combinatorics, algorithms, and data structures. |
![]() |
Real-World Applications of Genetic Algorithms | Olympia Roeva | This book presents hybrid techniques based on Artificial Neural Network, Fuzzy Sets, Automata Theory, other metaheuristic or classical algorithms, etc. It examines various examples of algorithms in different real-world application domains. |
![]() |
Algorithms | Robert Sedgewick, Kevin Wayne | This textbook surveys the most important algorithms and data structures in use today. Applications to science, engineering, and industry are a key feature of the text. We motivate each algorithm by examining its impact on specific applications. |
![]() |
Algorithms and Data Structures: The Basic | K. Mehlhorn, P. Sanders – Springer | This book is a concise introduction addressed to students and professionals familiar with programming and basic mathematical language. Individual chapters cover arrays and linked lists, hash tables, and associative arrays, sorting, and selection, etc |
![]() |
Knapsack Problems: Algorithms and Computer Implementations | Silvano Martello, Paolo Toth – John Wiley & Sons | The book on exact and approximate algorithms for a number of important problems in the field of integer linear programming, which the authors refer to as ‘knapsack’. Includes knapsack problems such as binary, bounded, unbounded or binary multiple |
![]() |
Planning Algorithms | Steven M. LaValle | 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 |
![]() |
Algorithms and Data Structures | Niklaus Wirth – Prentice Hall | The book treats practically important algorithms and data structures. It starts with a chapter on a data structure, then it treats sorting algorithms, concentrates on several examples of recursion, and deals with dynamic data structures. |
![]() |
Tabu Search | Wassim Jaziri – InTech | Tabu search is a mathematical optimization method. The goal of the book is to report original researchers on algorithms and applications of Tabu Search to real-world problems as well as recent improvements and extensions on its concepts and algorithms. |
![]() |
Greedy Algorithms | Witold Bednorz – InTech | Each chapter comprises a separate study on some optimization problem giving both an introductory look into the theory the problem comes from and some new developments invented by authors. Usually, some elementary knowledge is assumed. |
![]() |
Algorithms | Jeff Erickson – the University of Illinois at Urbana-Champaign | These are lecture notes, homework questions, and exam questions from algorithms courses the author taught at the University of Illinois. It is assumed that the reader has mastered the material covered in the first 2 years of a typical CS curriculum. |
![]() |
Problems on Algorithms, 2nd edition | Ian Parberry, William Gasarch – Prentice Hall | A collection of problems on the design, analysis, and verification of algorithms for practicing programmers who wish to hone and expand their skills, as a supplementary text for students, and as a self-study text for graduate students. |
![]() |
Combinatorial Algorithms | Albert Nijenhuis, Herbert S. Wilf – Academic Press Inc | This is a collection of mathematical algorithms with many new and interesting examples in this second edition. The authors tried to place in the reader’s hands a kit of building blocks with which the reader can construct more elaborate structures |
![]() |
Data Structures and Algorithm Analysis in Java, 3rd Edition | Mark Allen Weiss | A comprehensive treatment focusing on the creation of efficient data structures and algorithms, using Java |
![]() |
Algorithmic Problem Solving with Python | John B. Schneider | This book uses Python to introduce folks to programming and algorithmic thinking. It is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques |
![]() |
Ruby Data Structures and Algorithms | Christopher Fox | This book is a concise introduction to data structures and algorithms in Ruby. Data structures are presented in a container hierarchy that includes stacks and queues as non-traversable dispensers, and lists, sets, and maps as traversable collections. |
![]() |
Numerical Algorithms: Computer Vision, Machine Learning, etc. | Justin Solomon | 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. |
![]() |
AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java | George F Luger, William A Stubblefield | Illustrating how to program AI algorithms in Lisp, Prolog, and Java. Topics include the simple production-like system based on logic, logic-based learning, and natural language parsing. |
![]() |
Genetic Algorithms in Applications | Rustem Popa | This well-organized book takes the reader through the new and rapidly expanding field of genetic algorithms step by step, from a discussion of numerical optimization to a survey of current extensions to genetic algorithms and applications. |
![]() |
Algorithms and Data Structures in VLSI Design | Christoph Meinel, Thorsten Theobald | This book presents broad and in-depth coverage of the entire field of modern VLSI Design with ordered binary decision diagrams (OBDDs) |
This is a collection of mathematical algorithms with many new and interesting examples in this second edition. The authors tried to place in the reader’s hands a kit of building blocks with which the reader can construct more elaborate structures.
In this article, we provide a list of books about Algorithms and Data Structures. Do you want to build any system? No matter which Programming Language you use for creation but it is a very important algorithm and data structure for any system. Using these books you can start to learn an algorithm and data structure. These books are helpful to from beginning to end.