Book description
This practical introduction to data structures and algorithms can help every programmer who wants to write more efficient software. Building on Robert Lefore's legendary Java-based guide, this book helps you understand exactly how data structures and algorithms operate. You'll learn how to efficiently apply them with the enormously popular Python language and scale your code to handle today's big data challenges.
Throughout, the authors focus on real-world examples, communicate key ideas with intuitive, interactive visualizations, and limit complexity and math to what you need to improve performance. Step-by-step, they introduce arrays, sorting, stacks, queues, linked lists, recursion, binary trees, 2-3-4 trees, hash tables, spatial data structures, graphs, and more. Their code examples and illustrations are so clear, you can understand them even if you're a near-beginner, or your experience is with other procedural or object-oriented languages.
Build core computer science skills that take you beyond merely "writing code"
Learn how data structures make programs (and programmers) more efficient
See how data organization and algorithms affect how much you can do with today's, and tomorrow's, computing resources
Develop data structure implementation skills you can use in any language
Choose the best data structure(s) and algorithms for each programming problem-and recognize which ones to avoid
Table of contents
- Cover
- Halftitle Page
- Title Page
- Copyright Page
- Pearson’s Commitment to Diversity, Equity, and Inclusion
- Dedication Page
- Contents
- Table of Contents
- Acknowledgments
- About the Author
- Introduction
- 1. Overview
- 2. Arrays
- 3. Simple Sorting
- 4. Stacks and Queues
- 5. Linked Lists
- 6. Recursion
- 7. Advanced Sorting
-
8. Binary Trees
- Why Use Binary Trees?
- Tree Terminology
- An Analogy
- How Do Binary Search Trees Work?
- Finding a Node
- Inserting a Node
- Traversing the Tree
- Finding Minimum and Maximum Key Values
- Deleting a Node
- The Efficiency of Binary Search Trees
- Trees Represented as Arrays
- Printing Trees
- Duplicate Keys
- The BinarySearchTreeTester.py Program
- The Huffman Code
- Summary
- Questions
- Experiments
- Programming Projects
- 9. 2-3-4 Trees and External Storage
-
10. AVL and Red-Black Trees
- Our Approach to the Discussion
- Balanced and Unbalanced Trees
- AVL Trees
- The Efficiency of AVL Trees
- Red-Black Trees
- Using the Red-Black Tree Visualization Tool
- Experimenting with the Visualization Tool
- Rotations in Red-Black Trees
- Inserting a New Node
- Deletion
- The Efficiency of Red-Black Trees
- 2-3-4 Trees and Red-Black Trees
- Red-Black Tree Implementation
- Summary
- Questions
- Experiments
- Programming Projects
- 11. Hash Tables
- 12. Spatial Data Structures
- 13. Heaps
- 14. Graphs
- 15. Weighted Graphs
- 16. What to Use and Why
- Appendix A. Running the Visualizations
- Appendix B. Further Reading
-
Appendix C. Answers to Questions
- Chapter 1, “Overview”
- Chapter 2, “Arrays”
- Chapter 3, “Simple Sorting”
- Chapter 4, “Stacks and Queues”
- Chapter 5, “Linked Lists”
- Chapter 6, “Recursion”
- Chapter 7, “Advanced Sorting”
- Chapter 8, “Binary Trees”
- Chapter 9, “2-3-4 Trees and External Storage”
- Chapter 10, “AVL and Red-Black Trees”
- Chapter 11, “Hash Tables”
- Chapter 12, “Spatial Data Structures”
- Chapter 13, “Heaps”
- Chapter 14, “Graphs”
- Chapter 15, “Weighted Graphs”
Product information
- Title: Data Structures & Algorithms in Python
- Author(s):
- Release date: October 2022
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780134855912
You might also like
book
Hands-On Data Structures and Algorithms with Python - Third Edition
Understand how implementing different data structures and algorithms intelligently can make your Python code and applications …
video
Data Structures and Algorithms: The Complete Masterclass
With the knowledge of data structures and algorithms at your fingertips, you can write efficient computer …
video
Algorithms: 24-part Lecture Series
Algorithms, Deluxe Edition, Fourth Edition These Algorithms Video Lectures cover the essential information that every serious …
book
Data Structures and Algorithms in Python
Based on the authors' market leading data structures books in Java and C++, this textbook offers …