Welcome to the "100 Days of Data Structures and Algorithms in Java" repository! This repository documents my journey of learning and improving my skills in data structures and algorithms over 100 days. I'll be using the Java programming language to implement and practice various data structures and algorithms.
The "100 Days of Data Structures and Algorithms" challenge is an initiative to consistently dedicate daily time to study and implement data structures and algorithms. The goal of this challenge is to enhance your problem-solving skills, algorithmic thinking, and understanding of fundamental concepts in computer science.
The repository is organized into a series of directories, each representing a day of the challenge. Inside each day's guide, you'll find:
- Code: The Java code implementations of various data structures and algorithms practiced on that day.
- README: A brief description of the concepts covered on that day and the corresponding code files.
Feel free to navigate the directories to explore the progression of concepts and implementations as the challenge advances.
-
Clone the Repository: Start by cloning this repository to your local machine using the following command:
git clone https://github.com/your-username/100daysofdsa-java.git
-
Navigate to Specific Days: Each day's work is organized in its corresponding directory. You can navigate to a specific day's directory using the command line or your file explorer.
-
Explore Code: Inside each day's directory, you'll find the Java source code files (.java) that implement various data structures and algorithms. Open these files to study the code and understand the implementations.
-
Run the Code: You can compile and run the Java code on your local machine. Follow the standard Java compilation and execution process for running the code.
-
Read README: The README file for each day provides a concise overview of the concepts covered on that day. It's recommended to read this before delving into the code.
-
Learn and Contribute: Feel free to learn from, modify, and extend the code in this repository. If you come up with improvements, bug fixes, or additional implementations, I encourage you to contribute back to the repository through pull requests.
The challenge is designed to cover a wide range of data structures and algorithms topics, including but not limited to:
- Arrays and Strings
- Linked Lists
- Stacks and Queues
- Trees and Binary Search Trees
- Graphs and Graph Algorithms
- Sorting and Searching Algorithms
- Dynamic Programming
- Greedy Algorithms
- and much more!
Please note that I am not an expert, and this repository represents my learning journey. The implementations here might not always be the most optimized or perfect. I encourage you to use this repository as a learning resource and always strive for deeper understanding and better solutions.
If you'd like to connect, discuss algorithms, or have any questions, you can reach me through the following channels:
- Email: [email protected]
- Twitter: https://twitter.com/Aaravshukla15
Let's embark on this exciting journey of improving our data structures and algorithms skills together! Happy coding!