This repo is to document my implementations of famous data structures and algorithms, hopefully I can keep practising and working on it to cover the most advanced of data structures and algorithms!
- Linked Lists - Singly Linked List
- Linked Lists - Doubly Linked List
- Queues - Classic Queue using Array
- Queues - Classic Queue using Linked List
- Queues - Classic Queue using Two Stacks
- Queues - Circular Queue
- Queues - Deque
- Stacks - Stack using Array
- Stacks - Stack using Linked List
- Stacks - Stack using Two Queues
- Trees - Binary Search Tree
- Searching - Linear Search
- Searching - Binary Search
- Searching - Jump Search
- Sorting - Insertion Sort
- Sorting - Merge Sort
- Sorting - Quick Sort
- Sorting - Selection Sort
- Sorting - Bubble Sort
- Sorting - Count Sort
- Sorting - Radix Sort
- Sorting - Shell Sort
- Graphs - Breadth First Search (BFS)
- Graphs - Depth First Search (DFS)
- Graphs - Cycle Detection for Undirected Graphs using BFS
- Graphs - Cycle Detection for Undirected Graphs using Bruteforce Disjoint Sets
- Graphs - Cycle Detection for Undirected Graphs using Optimized Disjoint Sets
- Graphs - Cycle Detection for Directed Graphs using DFS
- Graphs - Topological Sort using BFS
- Graphs - Prim's Algorithm for Minimum Spanning Trees
- Graphs - Dijkstra's Algorithm