Mastering algorithms one step at a time with Java β, Python π, and C++ β‘ using Visual Studio Code π».
This repository is a comprehensive collection of Data Structures and Algorithms implementations, designed for learning and practice. It supports multiple programming languages and includes detailed examples and test cases.
data-structures-algorithms/
βββ src/ # Source code organized by topics
βββ lib/ # External dependencies (including algs4.jar)
βββ build/ # Compiled output files
βββ data/ # Input data files for examples
- Java JDK 11 or higher
- Python 3.x
- C++ Compiler (g++)
- Visual Studio Code
- Required VS Code Extensions:
- Java Extension Pack
- Python
- C/C++
# Compile
javac -cp ".;lib/algs4.jar" src/<path-to-file>/<filename>.java -d build
# Run with interactive input
java -cp ".;build;lib/algs4.jar" <ClassName>
# Run with file input
Get-Content .\data\<inputfile>.txt | java -cp ".;build;lib/algs4.jar" <ClassName># Run with interactive input
python src/<path-to-file>/<filename>.py
# Run with file input
Get-Content .\data\<inputfile>.txt | python src/<path-to-file>/<filename>.py# Compile
g++ -o build/<ProgramName> src/<path-to-file>/<filename>.cpp
# Run with interactive input
build\<ProgramName>.exe
# Run with file input
Get-Content .\data\<inputfile>.txt | .\build\<ProgramName>.exe- Arrays & Lists π
- Trees & Graphs π³
- Hash Tables ποΈ
- Stacks & Queues π
- Sorting Algorithms π
- Searching Techniques π
- Graph Algorithms πΈοΈ
- Dynamic Programming β‘
Each implementation includes:
- Unit tests
- Sample input files
- Performance benchmarks
-
Fundamentals
- Basic data structures
- Time complexity analysis
- Space complexity analysis
-
Advanced Topics
- Complex algorithms
- Optimization techniques
- Problem-solving strategies
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
The JAVA PROJECTS view in VS Code allows you to manage your dependencies. More details can be found here.
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Coding! π«