A collection of my Data Structures and Algorithms practice and problem-solving solutions, mainly using Python.
This repository documents my learning journey through coding problems from platforms such as Codeforces and LeetCode.
- Build strong problem-solving skills
- Learn Data Structures and Algorithms
- Improve Python programming
- Practice competitive programming
- Learn to write efficient solutions
- Analyze and improve time and space complexity
- Variables and Data Types
- Input and Output
- Conditional Statements
- Loops
- Functions
- Strings
- Lists
- Dictionaries
- Sets
- Tuples
- Arrays / Lists
- Strings
- Hash Tables
- Stacks
- Queues
- Linked Lists
- Trees
- Binary Search Trees
- Heaps
- Graphs
- Searching
- Sorting
- Binary Search
- Two Pointers
- Sliding Window
- Recursion
- Greedy Algorithms
- Backtracking
- Dynamic Programming
- Graph Algorithms
- Big O
O - Big Omega
Ω - Big Theta
Θ - Time Complexity
- Space Complexity
- Python
- C
- C++
- Codeforces
- LeetCode
DSA/
│
├── Codeforces/
│ ├── 4A_Watermelon.py
│ ├── 71A_Way_Too_Long_Words.py
│ └── ...
│
├── LeetCode/
│ ├── 1_Two_Sum.py
│ ├── 20_Valid_Parentheses.py
│ └── ...
│
├── GeeksforGeeks/
│ └── ...
│
└── README.md
I am solving problems regularly and improving my understanding of algorithms by focusing on:
Understand the Problem
↓
Find the Approach
↓
Write the Solution
↓
Test Edge Cases
↓
Analyze Complexity
↓
Improve the Solution
Solutions are added as I learn new concepts and solve new problems.
The goal is not just to solve problems, but to understand why the solution works and how it can be optimized.
Athrav Singh
B.Tech CSE Student