Skip to content

This repository contains Java implementations of Data Structures and Algorithms, created for learning, practice, and interview preparation. Includes clear explanations and optimized solutions.

License

Notifications You must be signed in to change notification settings

AGfinx/Data-Structures-and-Algorithms-Java

Data-Structures-and-Algorithms-Java

This repository contains Java implementations of Data Structures and Algorithms, created for learning, practice, and interview preparation. Includes clear explanations and optimized solutions.

📘 Data Structures and Algorithms in Java

Java Build License Contributions

A comprehensive collection of Data Structures and Algorithms (DSA) programs implemented in Java, designed for learning, practice, and technical interview preparation.

This repository follows a clean, modular structure, includes optimized solutions, and maps problems to LeetCode-style questions for easy reference.


🚀 Features

  • ✅ Beginner to advanced DSA concepts
  • ✅ Clean, readable, and well-commented Java code
  • ✅ Organized package structure
  • ✅ Interview-focused problems
  • ✅ LeetCode problem mapping
  • ✅ Suitable for students & professionals

🧠 Topics Covered

🔹 Data Structures

  • Arrays
  • Strings
  • Linked List (Singly, Doubly)
  • Stack
  • Queue (Simple, Circular, Deque)
  • Hashing (HashMap, HashSet)
  • Tree (Binary Tree, BST)
  • Heap (Min Heap, Max Heap)
  • Graph
  • Trie

🔹 Algorithms

  • Searching (Linear, Binary)
  • Sorting (Bubble, Selection, Insertion, Merge, Quick)
  • Recursion & Backtracking
  • Sliding Window
  • Two Pointers
  • Greedy Algorithms
  • Divide & Conquer
  • Dynamic Programming
  • Graph Algorithms (BFS, DFS, Dijkstra)
  • Bit Manipulation

###🧩 LeetCode-Style Problem Mapping Topic Problem LeetCode Link Arrays Maximum Subarray https://leetcode.com/problems/maximum-subarray

Arrays Two Sum https://leetcode.com/problems/two-sum

Strings Valid Palindrome https://leetcode.com/problems/valid-palindrome

Linked List Reverse Linked List https://leetcode.com/problems/reverse-linked-list

Stack Valid Parentheses https://leetcode.com/problems/valid-parentheses

Queue Implement Queue using Stacks https://leetcode.com/problems/implement-queue-using-stacks

Tree Inorder Traversal https://leetcode.com/problems/binary-tree-inorder-traversal

Graph Number of Islands https://leetcode.com/problems/number-of-islands

DP Climbing Stairs https://leetcode.com/problems/climbing-stairs 📌 Naming Conventions

Class names: PascalCase

Packages: lowercase

One problem per file

Descriptive method names

🤝 Contributing

Contributions are welcome!

Fork the repository

Create a new branch

Add your solution

Commit with a meaningful message

Open a Pull Request

About

This repository contains Java implementations of Data Structures and Algorithms, created for learning, practice, and interview preparation. Includes clear explanations and optimized solutions.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages