This repo contains implementations for all data structures and associated algorithms that I have learnt from Algorithms, Part I on Coursera.
The implementations are in two languages - Java and Python3, for the sake of practice and understanding of the core concepts.
- Bubble Sort
- Selection Sort
- Insertion Sort
- Shell Sort
- Mergesort
- Quicksort
- Heapsort
- Linked List
- Stack
- Queue
- Deque
- Randomized Queue
- Priority Queue
- Unordered ST
- Ordered ST
- Left-Leaning Red Black Trees
- Linear Probing Hash Table
- Separate Chaining Hash Table
- Weighted Quick Union with Path Compression
The API is the same for both the Java and Python3 versions, using their respective naming conventions.