Problem Solving with Algorithms and Data Structures Using Python—3rd Edition

No tax

Author: Bradley Miller, David Ranum, Roman Yasinovskyy

Copyright: 2023

Binding: Paperback

Page Count: 424


100% secure payments

Security policy


Delivery policy


Return policy

This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level. You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore the discipline and continue to practice problem solving.
    Computer science is like any other difficult subject matter, where you become successful through deliberate, step-by-step exposure to the fundamental ideas. A beginning computer scientist needs practice to gain thorough understanding before advancing to more complex parts of the curriculum. A beginner also needs opportunities to be successful and gain confidence. This book achieves these goals by exposing new concepts incrementally while building on previously covered topics. Furthermore, we use the Python programming language, as we believe that provides the perfect setting for exploring these ideas.
    We cover abstract data types and data structures, writing algorithms, and solving problems. We look at a number of data structures and solve classic problems that arise. The tools and techniques that you learn here will be applied over and over as you continue your study of computer science.
    This textbook has three key features:
•     A strong focus on problem solving introduces students to fundamental data structures and algorithms by providing a very readable text without introducing an overwhelming amount of new language syntax.
•     Algorithm analysis in terms of Big O running time is introduced early and applied throughout.
•     Python is used to facilitate the success of beginning students in using and mastering data structures and algorithms.