Data Structures & Algorithms in Python 1st Edition by John Canning – Ebook PDF Instant Download/DeliveryISBN: 0134855892, 9780134855899
Full download Data Structures & Algorithms in Python 1st Edition after payment
Product details:
ISBN-10 : 0134855892
ISBN-13 : 9780134855899
Author: John Canning
LEARN HOW TO USE DATA STRUCTURES IN WRITING HIGH PERFORMANCE PYTHON PROGRAMS AND ALGORITHMS This practical introduction to data structures and algorithms can help every programmer who wants to write more efficient software. Building on Robert Lafore’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.
Data Structures & Algorithms in Python 1st Table of contents:
Chapter 1. Overview
What Are Data Structures and Algorithms?
Overview of Data Structures
Overview of Algorithms
Some Definitions
Programming in Python
Object-Oriented Programming
Summary
Questions
Experiments
Chapter 2. Arrays
The Array Visualization Tool
Using Python Lists to Implement the Array Class
The OrderedArray Visualization Tool
Binary Search
Python Code for an OrderedArray Class
Logarithms
Storing Objects
Big O Notation
Why Not Use Arrays for Everything?
Summary
Questions
Experiments
Programming Projects
Chapter 3. Simple Sorting
How Would You Do It?
Bubble Sort
Selection Sort
Insertion Sort
Comparing the Simple Sorts
Summary
Questions
Experiments
Programming Projects
Chapter 4. Stacks and Queues
Different Structures for Different Use Cases
Stacks
Queues
Priority Queues
Parsing Arithmetic Expressions
Summary
Questions
Experiments
Programming Projects
Chapter 5. Linked Lists
Links
The LinkedList Visualization Tool
A Simple Linked List
Double-Ended Lists
Linked List Efficiency
Abstract Data Types and Objects
Ordered Lists
Doubly Linked Lists
Circular Lists
Iterators
Summary
Questions
Experiments
Programming Projects
Chapter 6. Recursion
Triangular Numbers
Factorials
Anagrams
A Recursive Binary Search
The Tower of Hanoi
Sorting with mergesort
Eliminating Recursion
Some Interesting Recursive Applications
Summary
Questions
Experiments
Programming Projects
Chapter 7. Advanced Sorting
Shellsort
Partitioning
Quicksort
Radix Sort
Timsort
Summary
Questions
Experiments
Programming Projects
Chapter 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
Chapter 9. 2-3-4 Trees and External Storage
Introduction to 2-3-4 Trees
The Tree234 Visualization Tool
Python Code for a 2-3-4 Tree
Efficiency of 2-3-4 Trees
2-3 Trees
External Storage
Summary
Questions
Experiments
Programming Projects
Chapter 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
Chapter 11. Hash Tables
Introduction to Hashing
Open Addressing
Separate Chaining
Hash Functions
Hashing Efficiency
Hashing and External Storage
Summary
Questions
Experiments
Programming Projects
Chapter 12. Spatial Data Structures
Spatial Data
Computing Distances Between Points
Circles and Bounding Boxes
Searching Spatial Data
Lists of Points
Grids
Quadtrees
Theoretical Performance and Optimizations
Practical Considerations
Further Extensions
Summary
Questions
Experiments
Programming Projects
Chapter 13. Heaps
Introduction to Heaps
The Heap Visualization Tool
Python Code for Heaps
A Tree-Based Heap
Heapsort
Order Statistics
Summary
Questions
Experiments
Programming Projects
Chapter 14. Graphs
Introduction to Graphs
Traversal and Search
Minimum Spanning Trees
Topological Sorting
Connectivity in Directed Graphs
Summary
Questions
Experiments
Programming Projects
Chapter 15. Weighted Graphs
Minimum Spanning Tree with Weighted Graphs
The Shortest-Path Problem
The All-Pairs Shortest-Path Problem
Efficiency
Intractable Problems
Summary
Questions
Experiments
Programming Projects
Chapter 16. What to Use and Why
Analyzing the Problem
Foundational Data Structures
Special-Ordering Data Structures
Sorting
Specialty Data Structures
External Storage
Onward
Appendixes
Appendix A. Running the Visualizations
For Developers: Running and Changing the Visualizations
For Managers: Downloading and Running the Visualizations
For Others: Viewing the Visualizations on the Internet
Using the Visualizations
People also search for Data Structures & Algorithms in Python 1st:
udemy data structures algorithms in python
data structures and algorithms in python course
data structures and algorithms in python 1st edition pdf
data structures and algorithms in python pdf github
data structures and algorithms in python github
Tags:
Data Structures,Algorithms,Python,John Canning