Skip to content

A structured collection of essential algorithms implemented in C++ for learning, practice, and competitive programming.

Notifications You must be signed in to change notification settings

raihanuldev/Algorithms

Repository files navigation

📚 Algorithms Collection in C++

Welcome to the Algorithms repository! This collection contains efficient and clean C++ implementations of core computer science algorithms. It is designed for practice, academic learning, competitive programming, and quick reference.


🚀 Table of Contents


✅ Features

  • Clean and modular C++ code
  • Covers essential algorithms in graph theory, dynamic programming, searching, etc.
  • Well-structured folder system
  • Ideal for students, developers, and competitive programmers

📂 Folder Structure

Each folder contains one or more .cpp files based on the algorithm category:

📁 0-1-knapsack
📁 Bellman Ford Algorithm
📁 Breadth First Search (BFS)
📁 Cycle Detection mod-6
📁 Depth First Search (DFS) and 2D Grid
📁 Dijkstra Algorithm
📁 Dynamic Programming (DP)
📁 Floyd-Warshall Algorithms
📁 Graph Representations
📁 Two Pointers Technique
📁 Union find DSU
📁 knapsack variations

📌 Implemented Algorithms

Category Algorithms Included
Graph Algorithms BFS, DFS, Dijkstra, Bellman-Ford, Floyd-Warshall, Cycle Detection, DSU
Dynamic Programming 0-1 Knapsack, Knapsack Variations, Fibonacci (Bottom-up)
Search Techniques Two Pointers Technique
Data Structures Graph Representations, Union-Find
Miscellaneous 2D Grid DFS Traversal, Modulo-Based Cycle Detection

🛠️ How to Use

  1. Clone this repository:

    git clone https://github.com/raihanuldev/Algorithms.git
    cd Algorithms
  2. Compile any algorithm file using g++:

    g++ path/to/your/code.cpp -o output
    ./output
  3. Explore, modify, and practice!


🔮 Future Plans

  • Add problem statements and sample test cases for each algorithm
  • Include time & space complexity notes
  • Integrate unit tests
  • Add advanced algorithms: Segment Trees, Trie, Suffix Arrays, etc.
  • Visual explanations (e.g. Graph traversal animations)

🤝 Contributing

Contributions are welcome! To contribute:

  1. Fork this repository
  2. Create a branch: git checkout -b new-algorithm
  3. Add your algorithm inside a relevant folder
  4. Commit your changes: git commit -m 'Add new algorithm'
  5. Push to the branch: git push origin new-algorithm
  6. Open a Pull Request 🚀

📄 License

This project is licensed under the MIT License – you are free to use, modify, and share!


👨‍💻 Author

Raihanul Islam Sharif
🎓 CSE Student | 💼 Full Stack Developer | 🧠 C++ Problem Solver
🌐 GitHub: raihanuldev


“Strive for clean code and clear logic — your future self will thank you.”

About

A structured collection of essential algorithms implemented in C++ for learning, practice, and competitive programming.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages