A collection of Data Structures & Algorithms (DSA) implementations based on the college syllabus (3rd semester). All code is written in C++, following the pseudocode and slides taught in class. Each topic folder contains source files, subfolders for variant implementations (OOP & Procedural), and a reference PDF/lecture slide where available.
DSA_by_College/
├── Algorithm/ # Sorting algorithms + lecture PDF
├── HashMaps/ # Hashing techniques + lecture PDF
├── LinkedList/ # Linked list variants + lecture PDF
├── Stacks/ # Stack implementations & applications + lecture PDF
├── Queue/ # Queue types & implementations + lecture PDF
└── Trees/ # Binary tree & heaps + lecture PDF
1. Algorithm
Basic sorting algorithm implementations. Each sort has its own subfolder with OOP-style source files.
| Subfolder | Description |
|---|---|
| Bubble_Sort_Algorithm | Standard and efficient bubble sort |
| Insertion_Sort_Algorithm | Insertion sort |
| Selection_Sort_Algorithm | Selection sort |
📄 Reference: 5- Sorting Algorithms.pdf
2. HashMaps
Hashing implementations covering both major collision-resolution strategies.
| Subfolder | Description |
|---|---|
| Separate_Chaining (Open Hashing) | Division, Folding, Mid-Square, Multiplication methods |
| Open_Addressing (Closed Hashing) | Linear Probing, Quadratic Probing, Double Hashing |
📄 Reference: 6- Hashing.pdf
3. LinkedList
All major linked list variants, each provided in both OOP and Procedural implementations.
| Subfolder | Description |
|---|---|
| Singly Linked List | Basic singly linked list (OOP + Procedural) |
| Doubly Linked List | Doubly linked list (OOP + Procedural) |
| Circular Linked List | Circular singly linked list (OOP + Procedural) |
| Circular Doubly Linked List | Circular doubly linked list (OOP + Procedural) |
📄 Reference: 7- Linked Lists.pdf
4. Stacks
Stack implementations and classic stack-based applications.
| Subfolder | Description |
|---|---|
| Stacks By Array | Stack using a static array (OOP) |
| Stacks by Linked List | Stack using linked list (OOP + Procedural) |
| Recursion | Factorial & Fibonacci using recursion |
| Tower of Hanoi | Recursive & iterative solutions |
| Polish Notation | Infix-to-Postfix conversion & Postfix evaluation |
| Quick Sort Algorithm | Quick sort (stack-related topic) |
📄 Reference: 8- Stacks.pdf
5. Queue
Queue variants implemented using arrays and linked lists.
| Subfolder | Description |
|---|---|
| Regular Queue / Queue by Circular Array | Circular array queue (OOP + Procedural) |
| Regular Queue / Queue by Linked List | Linked-list-based queue (OOP + Procedural) |
| Deque | Double-ended queue (OOP) |
| Priority Queue / By array | Array-based ascending & descending priority queue |
| Priority Queue / By One way ordered list | LL-based priority queue (OOP + Procedural, Asc & Desc) |
📄 Reference: 9- Queue.pdf
6. Trees
Binary tree and heap implementations.
| Subfolder | Description |
|---|---|
| Binary Tree / ArrayImplementation | Binary tree using array (OOP) |
| Heaps / MaxHeap | Max-heap (OOP) |
| Heaps / MinHeap | Min-heap (OOP) |
| Heaps / Heap_Sort | Heap sort using max-heap & min-heap |
📄 Reference: 10- Tree.pdf
- Code may not be fully optimized; the focus is on learning & understanding concepts.
- Each topic folder includes the corresponding lecture PDF/slides for reference.
- Most linked-list-based implementations are provided in both OOP and Procedural styles.
Author: @YatharthKumarSaxena