Data Structures and Algorithms in Python

  • 14h 47m
  • Michael H. Goldwasser, Michael T. Goodrich, Roberto Tamassia
  • John Wiley & Sons (US)
  • 2013

Based on the authors’ market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Structures and Algorithms in Python is the first authoritative object-oriented book available for Python data structures. Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++.

  • Begins by discussing Python’s conceptually simple syntax, which allows for a greater focus on concepts.
  • Employs a consistent object-oriented viewpoint throughout the text.
  • Presents each data structure using ADTs and their respective implementations and introduces important design patterns as a means to organize those implementations into classes, methods, and objects.
  • Provides a thorough discussion on the analysis and design of fundamental data structures.
  • Includes many helpful Python code examples, with source code provided on the website.
  • Uses illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner.
  • Provides hundreds of exercises that promote creativity, help readers learn how to think like programmers, and reinforce important concepts.
  • Contains many Python-code and pseudo-code fragments, and hundreds of exercises, which are divided into roughly 40% reinforcement exercises, 40% creativity exercises, and 20% programming projects.

In this Book

  • Python Primer
  • Object-Oriented Programming
  • Algorithm Analysis
  • Recursion
  • Array-Based Sequences
  • Stacks, Queues, and Deques
  • Linked Lists
  • Trees
  • Priority Queues
  • Maps, Hash Tables, and Skip Lists
  • Search Trees
  • Sorting and Selection
  • Text Processing
  • Graph Algorithms
  • Memory Management and B-Trees
  • Bibliography