A growing collection of Data Structures and Algorithms (DSA) projects built in Java. Every project solves a small real-world problem using a core DSA concept: sorting, searching, hashing, sliding window, two pointers, and more. New builds are added regularly, so ⭐ star and 👀 watch this repo to follow along.
| Project | What it does | DSA concepts |
|---|---|---|
contact_sorter.java |
Console app: enter names, sort them, then search for a contact | Quick Sort (recursive), Binary Search, Arrays, ArrayList |
Text_toolkit.java |
Text utilities: palindrome check and longest substring without repeating characters | Two Pointers, Sliding Window, HashSet, Strings |
More coming soon (see the Roadmap).
Requirements: Java 17 or newer (JDK).
git clone https://github.com/gaur-j/dsa_project.git
cd dsa_project
# Contact Sorter
javac contact_sorter.java
java contact_sorter
# Text Toolkit
javac Text_toolkit.java
java Text_toolkitChoice 1: To Enter name.
Choice 2: To Exit.
choice: 1
enter name: zara
choice: 1
enter name: aman
choice: 2
[zara, aman]
Choice 1: Search name.
choice: 1
Search Name: aman
Name Found: true, at index: 0
- Linked List based project
- Stack / Queue based project (e.g. expression evaluator)
- Binary Tree / BST project
- Graph project (BFS / DFS, shortest path)
- Dynamic Programming problems
- Add time and space complexity notes for every project
Contributions are welcome. You can:
- Fork this repo
- Create a branch:
git checkout -b feature/my-dsa-project - Commit your changes:
git commit -m "Add: my DSA project" - Push and open a Pull Request
Ideas, bug reports, and improvements are welcome in Issues.
If this repo helps you learn or practice DSA, please give it a star and fork it to build your own versions.
Released under the MIT License.
Built and maintained by @gaur-j. Updated regularly with new DSA builds.