An implementation in Python of all the data structures & algorithms taught in the ECE 250 course at UWaterloo.
- AVL Tree
- Binary Search Tree
- Chaining Hash Table
- Double Hashing Hash Table
- Graph
- Linear Probing Hash Table
- Linked List
- Max & MinBinary Heap
- Max & Min Priority Queue
- Queue
- Stack
- Weighted Graph
- Weighted Digraph
- AVL Tree Algorithms (insert, delete, single right/left rotation etc.)
- Binary Tree Algorithms (binary search, max, min, predecessor, successor, pre/post/in-order traversals etc.)
- Graph Algorithms (breadth/depth first search/traversal, insert, delete etc.)
- Hash Table Algorithms (linear probing, chaining etc.)
- Sorting Algorithms (counting sort, quick sort, radix sort, merge sort)