Skip to content

Latest commit

 

History

History
119 lines (85 loc) · 5.54 KB

File metadata and controls

119 lines (85 loc) · 5.54 KB

DSA by College (C++ Implementations)

Language Last Commit Repo Size Stars

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.


📁 Repository Structure

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

📂 Folder Overview

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


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


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


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


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


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


📝 Notes

  • 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