This project is a collection of various algorithms and data structures implemented in Java and Python.
The project structure is organized as follows:
src/main/java/com/akshayram/algorithms
: Contains various algorithm implementations, including searching, sorting, and Dijkstra's algorithm.src/main/java/com/akshayram/basicprograms
: Contains basic Java programs, such as hash generation and pattern printing.src/test/java/com/akshayram/leetcode
: Includes test cases for your algorithms..gitignore
: Specifies which files and directories to ignore when pushing to a version control repository.README.md
: The file you are currently reading, providing an overview of the project.pom.xml
: The Maven project configuration file.
Feel free to explore and contribute to this project. You can add more data structures, algorithms, and test cases as needed.
-
Algorithms:
- The
algorithms
package contains various algorithm implementations. - It covers topics like searching, sorting, and graph algorithms.
- Explore these algorithms to understand their working and applications.
- The
-
Basic Programs:
- The
basicprograms
package contains simple Java programs. - These programs are designed to help you practice basic coding concepts.
- Use these as a warm-up or for quick coding exercises.
- The
-
Testing:
- The
test
directory includes test cases for your algorithms and programs. - Write and run tests to ensure your code behaves as expected.
- The
Contributions to this DSA project are encouraged! Here's how you can get involved:
-
Add New Algorithms:
- Feel free to add new algorithms, data structures, or programming challenges to the project.
- Follow good coding practices and add test cases to validate your code.
-
Improve Existing Code:
- If you find any bugs or want to optimize existing code, go ahead and make improvements.
-
Create Documentation:
- Write documentation and comments to explain how your code works.
- Add explanations and comments to help others understand the algorithms and data structures.
-
Issue Reporting:
- Report any issues, bugs, or suggestions through the project's issue tracker.
- Clone the project repository to your local machine.
- Open the project in your favorite code editor e.g. IntelliJ Idea or VS Code.
- We are using "Google Java Formatter" to maintain unique coding formatting style. Please maintain the same. (Tabs indents are two spaces).
- Choose a specific algorithm or data structure to work on.
- Implement the code in Java or Python.
- Add test cases to ensure the code's correctness.
- Submit a pull request with your changes.
This project is open-source and available under the MIT License. Feel free to use, modify, and distribute the code as per the license terms.
Happy coding, and let's continue exploring the fascinating world of data structures and algorithms together!