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

https://github.com/shivam-kumar-59/java-dsa

Welcome to the CPP DSA repository! This is a learning resource dedicated to Data Structures and Algorithms (DSA) implemented in C++. It includes a variety of examples, exercises, and projects designed to help beginners and intermediate learners enhance their understanding of DSA concepts.
https://github.com/shivam-kumar-59/java-dsa

cpp dsa dsa-algorithm dsa-practice

Last synced: 1 day ago
JSON representation

Welcome to the CPP DSA repository! This is a learning resource dedicated to Data Structures and Algorithms (DSA) implemented in C++. It includes a variety of examples, exercises, and projects designed to help beginners and intermediate learners enhance their understanding of DSA concepts.

Awesome Lists containing this project

README

          

# JAVA-DSA: Your Complete Guide to Mastering Data Structures and Algorithms with JAVA

Welcome to the **JAVA-DSA repository**! This repository is designed to systematically teach and practice Data Structures and Algorithms (DSA) using **JAVA**, one of the most powerful languages for competitive programming and problem-solving.

---

## **Contents**

1. [Goals](#goals)
2. [Folder Structure](#folder-structure)
3. [Progress Plan](#progress-plan)
4. [How to Use This Repository](#how-to-use-this-repository)
5. [Prerequisites](#prerequisites)
6. [Resources](#resources)
7. [Contributing](#contributing)
8. [Author](#author)

---

## **Goals**

1. Build a strong foundation in DSA concepts and techniques.
2. Solve curated problems to strengthen problem-solving skills.
3. Prepare for coding interviews and competitive programming contests.

---

## **Folder Structure**

The repository is organized by topic and week for easy navigation:

- **Arrays_and_Strings**:
Covers array and string manipulation problems.
- **Searching_and_Sorting**:
Linear and binary search, sorting algorithms, and their applications.
- **Recursion_and_Backtracking**:
Recursive methods, backtracking, subsets, and permutations.
- **Linked_Lists**:
Singly, doubly linked lists, and their operations.
- **Stacks_and_Queues**:
Stack and queue operations, monotonic structures.
- **Trees**:
Binary trees, BSTs, and advanced tree structures.
- **Hashing**:
Hashmaps, hashsets, and problem applications.
- **Graphs**:
Graph traversals, shortest paths, and spanning trees.
- **Dynamic_Programming**:
1D and 2D DP problems, optimal substructure, and overlapping subproblems.
- **Competitive_Programming**:
Advanced topics like greedy algorithms, bit manipulation, and tries.

---

## **Progress Plan**

This roadmap ensures consistent progress:

### **Month 1: Foundations**

- **Week 1:** Arrays and Strings
- **Week 2:** Searching and Sorting
- **Week 3:** Recursion and Backtracking
- **Week 4:** Linked Lists

### **Month 2: Intermediate Data Structures**

- **Week 5:** Stacks and Queues
- **Weeks 6-7:** Trees
- **Week 8:** Hashing

### **Month 3: Advanced Topics**

- **Weeks 9-10:** Graphs
- **Weeks 11-12:** Dynamic Programming

### **Month 4: Competitive Programming and Mock Interviews**

---

## **How to Use This Repository**

1. **Follow the Plan**: Each folder is organized by weeks and topics. Start with the earliest weeks and move sequentially.
2. **Solve Problems**: Problems are categorized by day to help you focus on specific concepts.
3. **Contribute**: Found a better solution? Feel free to create a pull request!

---

## **Prerequisites**

- Basic knowledge of C++ syntax and programming.
- Familiarity with basic mathematics and logical reasoning.

---

## **Resources**

- **Books**:
- "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein
- "Elements of Programming Interviews" by Adnan Aziz
- **Online Platforms**:
- LeetCode
- GeeksforGeeks
- Codeforces
- **IDE**: Visual Studio Code or CLion

---

## **Contributing**

Contributions are always welcome! If you have any suggestions for additional problems or solutions, please create an issue or a pull request.

---

## **Author**

- **Shivam Kumar**
- LinkedIn: [Shivam Kumar](https://www.linkedin.com/in/shivam-kumar-946614277/)
- GitHub: [Shivam Kumar](https://github.com/SHIVAM-KUMAR-59)

---

Happy coding! 🚀