Skip to content

BonyAminAIUB/Algorithm_lab

Repository files navigation

🧪 Algorithms Lab

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.


📂 Repository Structure

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.


📌 Topics Covered

🔍 Searching Algorithms

  • Linear Search
  • Binary Search

🔄 Sorting Algorithms

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Counting Sort

🌐 Graph Algorithms

  • Breadth-First Search (BFS)
  • Depth-First Search (DFS)
  • Dijkstra’s Algorithm
  • Minimum Spanning Tree (MST)
  • Kruskal’s Algorithm

🔗 Disjoint Set (DSU)

  • Union-Find
  • Path Compression

⚙️ Dynamic Programming (DP)

  • Fibonacci
  • Longest Common Subsequence (LCS)
  • Matrix Chain Multiplication (MCM)
  • Knapsack Problem
  • Coin Change Problem

🎯 Algorithm Paradigms

  • Recursion
  • Divide and Conquer
  • Greedy Algorithms

🛠 Tech Stack

  • Language: C++
  • IDE: Visual Studio Code
  • Version Control: Git & GitHub

🎯 Objectives

  • 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

📈 Learning Level

  • Beginner → Intermediate → Early Advanced
  • Academic + practical implementation focused

⚠️ Notes

  • 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

🚀 Future Improvements

  • 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

About

Collection of C++ algorithm implementations covering sorting, searching, graph, and dynamic programming concepts.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages