A collection of Data Structure and Algorithm implementations written in C++. Each program is self-contained and meant as a learning reference for understanding how these structures and algorithms work under the hood.
- Singly Linked List
- Doubly Linked List
- Single Circular Linked List
- Double Circular Linked List
- All Linked List implementations combined
- Stack using Array
- Stack using Linked List
- All Stack implementations combined
- Stack Applications
- Infix to Postfix conversion
- Infix to Prefix conversion
- Postfix to Infix conversion
- Postfix to Prefix conversion
- Prefix to Infix conversion
- Prefix to Postfix conversion
- All Stack applications combined
- Queue using Array
- Queue using Linked List
- Circular Queue using Array
- Circular Queue using Linked List
- Double Ended Queue (Deque)
- Priority Queue using Array
- Priority Queue using Linked List
- Queue using Stack
- All Queue implementations combined
- Binary Tree
- Binary Search Tree
- AVL Binary Tree
- Binary Min Heap
- Binary Max Heap
- Sorting Algorithms: Bubble Sort, Insertion Sort, Selection Sort, Merge Sort, Quick Sort, Heap Sort, Counting Sort, Bucket Sort, Radix Sort
- Searching Algorithms: Linear Search, Binary Search
- Algorithmic Problems: Tower of Hanoi
- All algorithms combined
Each .cpp file can be compiled and run independently. For example, using g++:
g++ "Stack Programs/StackUsingArray.cpp" -o StackUsingArray
./StackUsingArrayThis project is licensed under the terms of the GNU General Public License v3.0.
