This repository contains C++ implementations of fundamental and algorithms developed during my university Algorithm Lab sessions. It focuses on building a strong foundation in problem-solving, algorithm design, and computational thinking through hands-on coding practice.
The repository includes implementations of various lab tasks and algorithmic problems:
- Sorting and searching algorithms
- Graph algorithms
- Dynamic Programming problems
- Greedy techniques and optimization problems
Each file represents a specific algorithm or lab exercise.
- Linear Search
- Binary Search
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Counting Sort
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Dijkstra’s Algorithm
- Minimum Spanning Tree (MST)
- Kruskal’s Algorithm
- Union-Find
- Path Compression
- Fibonacci
- Longest Common Subsequence (LCS)
- Matrix Chain Multiplication (MCM)
- Knapsack Problem
- Coin Change Problem
- Recursion
- Divide and Conquer
- Greedy Algorithms
- Language: C++
- IDE: Visual Studio Code
- Version Control: Git & GitHub
- Practice and implement core algorithms from lab sessions
- Develop strong problem-solving and logical thinking skills
- Understand algorithm efficiency (time & space complexity)
- Prepare for lab exams, coding interviews, and competitive programming
- Beginner → Intermediate → Early Advanced
- Academic + practical implementation focused
- Code is written for clarity and learning purposes
- Focus is on understanding concepts rather than heavy optimization
- Some files may contain multiple approaches or variations
- Add detailed time and space complexity analysis
- Improve code documentation and comments
- Add advanced topics (Graphs, Advanced DP, Backtracking)
- Organize files into structured folders
⭐ This repository represents my algorithm learning journey through structured lab practice and problem solving