
An Open Guide to Data Structures and Algorithms
Paul W. Bible, DePauw University
Lucas Moser, Marian University
Mia M. Scarlato
Copyright Year:
Publisher: PALNI
Language: English
Formats Available
Conditions of Use
Attribution
CC BY
Reviews
Reviewed by Andy Elliot Ricci, Assistant Professor, Bates College on 2/23/26
The text covers key data structures, algorithms, and the basics of complexity. In addition to the properties of data structures and algorithms, the authors provide a good amount of theoretical depth related to complexity. The end-of-chapter... read more
Reviewed by Andy Elliot Ricci, Assistant Professor, Bates College on 2/23/26
Comprehensiveness
The text covers key data structures, algorithms, and the basics of complexity. In addition to the properties of data structures and algorithms, the authors provide a good amount of theoretical depth related to complexity. The end-of-chapter exercises ask students to build on what they learned in the chapter through implementations or problem solving.
Content Accuracy
The book is highly accurate.
Relevance/Longevity
The text focuses on concepts and theory around key data structures and algorithms.
Clarity
The text is clearly written. The authors do a good job of using clear examples and intuition to build up to technical content. The first chapter is a particularly strong example of the balance between jargon-free intuition building (how can you sort cards?) and highly technical content (formal definition of Big-O). The text makes good use of pseudocode, figures, and mathematical notation.
Consistency
The book is highly consistent
Modularity
The book is well organized with chapters, learning goals, and sub-sections. Many of the end-of-chapter exercises can be stand-alone assignments.
Organization/Structure/Flow
Good organization.
Interface
No significant interface issues.
Grammatical Errors
No grammatical errors.
Cultural Relevance
No cultural insensitivity.
Table of Contents
- Publisher's Note
- Acknowledgements
- Algorithms, Big-O, and Complexity
- Recursion
- Sorting
- Search
- Linked Lists
- Stacks and Queues
- Hashing and Hash Tables
- Search Trees
- Priority Queues
- Dynamic Programming
- Graphs
- Hard Problems
- Contributors
About the Book
This textbook serves as a gentle introduction for undergraduates to theoretical concepts in data structures and algorithms in computer science while providing coverage of practical implementation (coding) issues. The field of computer science (CS) supports a multitude of essential technologies in science, engineering, and communication as a social medium. The varied and interconnected nature of computer technology permeates countless career paths making CS a popular and growing major program. Mastery of the science behind computer science relies on an understanding of the theory of algorithms and data structures. These concepts underlie the fundamental tradeoffs that dictate performance in terms of speed, memory usage, and programming complexity that separate novice programmers from professional practitioners.
About the Contributors
Authors
Paul W. Bible is currently a faculty member in the Department of Computer Science at DePauw University in Greencastle, Indiana. He holds a Ph.D. in Computer Science and has conducted research in bioinformatics and computational biology both internationally and at the National Institutes of Health. Dr. Bible believes in the power of equity in education to drive social change. He hopes that this book will help more students succeed on their path to becoming computing professionals.
Lucas Moser is an independent consultant and faculty member at Marian University’s Department of Mathematical and Computational Science. There he passionately shares his assertion that a rich education plays a major role in the development of problem-solving skills. His experiences in software engineering, management, and teaching bring a unique perspective to both project teams and students.
Illustrator
Mia M. Scarlato