An open API service indexing awesome lists of open source software.

https://github.com/beingnikil07/dsa


https://github.com/beingnikil07/dsa

array arraylist backtracking hashmap hashset heaps linked-list matrix queues sorting-algorithms stack strings trees

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# DSA Practice Repository 🚀

Welcome to the **DSA Practice Repository**, a collection of well-structured and optimized solutions for **Data Structures and Algorithms** problems. This repository is designed to help developers and students strengthen their problem-solving skills with practical examples and efficient solutions.

---

## 🔥 Features

✅ Well-structured DSA problems and solutions
✅ Optimized code with detailed explanations
✅ Categorized by topics for easy navigation
✅ Beginner-friendly and interview-focused
✅ Contributions welcome! 🚀

---

## 📌 Topics Covered

- 🔹 **Arrays** (Sorting, Searching, Sliding Window, etc.)
- 🔹 **Linked Lists** (Singly, Doubly, Circular, Fast & Slow pointers)
- 🔹 **Stacks & Queues** (Monotonic Stack, Priority Queue, etc.)
- 🔹 **Recursion & Backtracking** (Sudoku Solver, N-Queens, etc.)
- 🔹 **Trees & Graphs** (Binary Trees, BFS, DFS, Dijkstra, etc.)
- 🔹 **Dynamic Programming** (Knapsack, Fibonacci, LCS, etc.)
- 🔹 **Bit Manipulation** (XOR tricks, Power of Two, etc.)
- 🔹 **Greedy Algorithms** (Activity Selection, Huffman Coding, etc.)

---

## 🚀 Getting Started

### Prerequisites
- Install **Java/Python/C++** (depending on the language used in the repo)
- A basic understanding of data structures and algorithms

### Clone the Repository
```sh
git clone https://github.com/beingnikil07/DSA.git
cd DSA
```

### Running the Code
Each problem is stored under its respective topic folder. Run the code using:

#### Java
```sh
javac ProblemName.java
java ProblemName
```

#### Python
```sh
python problem_name.py
```

#### C++
```sh
g++ problem_name.cpp -o output
./output
```

---

## 📁 Repository Structure

```
DSA-Practice/
│── Arrays/
│ ├── TwoSum.java
│ ├── MergeSort.cpp
│ └── BinarySearch.py
│── LinkedLists/
│ ├── ReverseLinkedList.java
│ ├── DetectCycle.cpp
│ └── MergeTwoLists.py
│── DynamicProgramming/
│ ├── Fibonacci.java
│ ├── Knapsack.cpp
│ └── LongestCommonSubsequence.py
│── Graphs/
│ ├── BFS.java
│ ├── Dijkstra.cpp
│ └── TopologicalSort.py
│── README.md
```

---

## 📜 Contribution Guidelines

Want to contribute? Follow these steps:

1. **Fork** the repository
2. **Clone** it to your local machine
3. Create a **new branch**
4. Add your DSA solution
5. Submit a **pull request** 🚀

---

## 📚 Resources for Learning

Here are some great resources to improve your DSA skills:
- **[GeeksforGeeks](https://www.geeksforgeeks.org/)**
- **[LeetCode](https://leetcode.com/)**
- **[Codeforces](https://codeforces.com/)**
- **[HackerRank](https://www.hackerrank.com/)**

---

## ⭐ Support
If you find this repository helpful, **star** ⭐ it to show your support!

Happy Coding! 🚀