Skip to content

VamP08/Competitive-Programming

Repository files navigation

Competitive Programming & DSA Journey

A comprehensive repository containing structured guides, implementation templates, and curated practice problems for a wide range of Data Structures and Algorithms. This project is my personal knowledge base for learning DSA for competitive programming and technical interviews. I have implemented the solution for the problem publicly in this repository so that everyone can use this as a template for leaning DSA implementing their own solution and organize their learning.


About This Repository

This repository is a structured learning environment. Each topic is organized into its own directory containing a detailed README.md file that acts as a revision guide. These guides include:

  • Conceptual Overviews: Brief but thorough explanations of core concepts.
  • Implementation Templates: Clean, well-commented C++ code for key algorithms.(Add as per learning)
  • Complexity Analysis: Time and space complexity for major operations.
  • Curated Practice Problems: A handpicked list of problems from platforms like LeetCode, Codeforces, and CSES to solidify understanding.

Repository Structure

/
├── 01-Introduction/
│   ├── 01-Big-O-Notation/
│   └── 02-Fast-IO/
├── 02-Data-Structures/
│   ├── 01-Array/
│   ├── 02-String/
│   ├── 03-Stack-Queue/
│   ├── 04-Heap-Priority-Queue/
│   ├── 05-Set-Map/
│   ├── 06-Trees/
│   │   ├── 01-Binary-Search-Tree/
│   │   └── 02-Trie/
│   ├── 07-Segment-Tree/
│   ├── 08-Fenwick-Tree/
│   └── 09-Disjoint-Set-Union/
├── 03-Algorithms/
│   ├── 01-Searching-Sorting/
│   │   ├── 01-Binary-Search/
│   │   └── 02-Merge-Sort/
│   ├── 02-Greedy/
│   ├── 03-Two-Pointers-Sliding-Window/
│   │   ├── Sliding-Window.md
│   │   └── Two-Pointers.md
│   ├── 04-Recursion-Backtracking/
│   ├── 05-Dynamic-Programming/
│   │   ├── 01-DP-on-Grids/
│   │   ├── 02-Knapsack/
│   │   ├── 03-Longest-Increasing-Subsequence/
│   │   ├── 04-DP-on-Subsets/
│   │   └── 05-DP-on-Trees/
│   └── 06-Bit-Manipulation/
├── 04-Graph-Theory/
│   ├── 01-Graph-Traversal-BFS-DFS/
│   ├── 02-Shortest-Path/
│   ├── 03-Minimum-Spanning-Tree/
│   ├── 04-Topological-Sort/
│   └── 05-Strongly-Connected-Components/
├── 05-Mathematics/
│   ├── 01-Number-Theory/
│   ├── 02-Combinatorics/
│   └── 03-Game-Theory/
├── 06-String-Algorithms/
│   ├── 01-Hashing/
│   ├── 02-KMP-Algorithm/
│   └── 03-Z-Algorithm/
├── 07-Geometry/
├── 08-Advanced-Techniques/
│   └── 01-Square-Root-Decomposition/
├── templates/
│   ├── template.cpp
└── README.md

Contributing

While this is a personal repository, suggestions and contributions are welcome. If you find an error, have a suggestion for a better explanation, or want to recommend a good problem, feel free to open an issue or submit a pull request.=


External Resources

Here are few resources used to compile the information in this repository:

  • CP-Algorithms: An excellent and comprehensive resource for algorithms.
  • CSES Problem Set: A curated collection of high-quality competitive programming problems.
  • USACO Guide: A structured guide with high-quality content and problems.
  • TopCoder Tutorials: A collection of legendary tutorials on a wide range of topics.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages