Data Structures package for Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum.
The package is a supplement to Problem Solving with Algorithms and Data Structures using Python. It contains implementations of basic data structures, searching and sorting algorithms, trees, and graphs. Some implementation details are intentionally left out and readers are encouraged to complete them on their own.
- Typical class implementation
- Use of getters, setters, and properties
- Overriding magic methods (len, str, contains etc)
- Stack
- Queue
- Deque
- Ordered linked list
- Unordered linked list
- HashMap
- Bubble sort
- Selection sort
- Insertion sort
- Shell sort
- Mergesort
- Quicksort
- Heapsort
- Binary tree
- Binary search tree
- AVL tree
- Binary heap
- Priority queue
- Breadth first search
- Depth first search
- Dijkstra's shortest path algorithm
- Bellman-Ford shortest path algorithm
- Prim's spanning tree algorithm