Skip to content

Latest commit

 

History

1,055 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data-Structures-And-Algorithms-Java

A daily Java-based Data Structures and Algorithms (DSA) learning journey from basics to advanced, with real-world examples, detailed logic, and interview-focused solutions.

=================================================================================

📘 Data Structures and Algorithms in Java – Daily Learning Journey

Welcome to my personal repository where I’m learning and practicing Data Structures and Algorithms (DSA) using Java, step-by-step — from basic to advanced.
This is a daily journey to build strong problem-solving skills and prepare for top product-based companies.


📅 Daily Progress Overview

Day Topics Covered Status
1 DSA Introduction, What & Why, Real-Time Use ✅ Completed
2 Primitive & Abstract DS, Algorithms, Basics ✅ Completed
3 Arrays Introduction, Logic Building Starts 🔄 Ongoing

🧠 Topics To Be Covered (Java DSA Roadmap)

This roadmap follows the structure required to crack interviews at top tech/product-based companies.

✅ Java Fundamentals (Quick Revision)

  • Variables, Data Types, Operators
  • Control Flow (if-else, switch)
  • Loops (for, while, do-while)
  • Functions and Parameters
  • OOP Concepts: Class, Object, Inheritance, Polymorphism, Abstraction, Encapsulation
  • Constructors
  • this & super keywords
  • Access Modifiers, Packages
  • Arrays, Strings, Exception Handling

✅ DSA Core Topics

📦 Arrays

  • Traversal, Insertion, Deletion
  • Min/Max Element, Reverse, Rotate
  • Prefix Sum, Difference Array
  • Sliding Window
  • Kadane’s Algorithm

🔠 Strings

  • StringBuilder & StringBuffer
  • Palindrome, Anagram
  • Substrings, Pattern Matching
  • Frequency Map
  • String Compression

🔁 Recursion & Backtracking

  • Basic Problems (Factorial, Fibonacci)
  • Reverse Number/String
  • Subsets, Permutations
  • N-Queens Problem
  • Sudoku Solver

📊 Sorting Algorithms

  • Bubble, Selection, Insertion Sort
  • Merge Sort
  • Quick Sort
  • Counting, Radix Sort
  • Custom Sort using Comparator

🔍 Searching Algorithms

  • Linear Search
  • Binary Search (Basic & Advanced)
  • Binary Search on Answer
  • Search in Rotated Array

🧾 Hashing

  • HashMap, HashSet
  • Frequency Count, Two Sum
  • Longest Consecutive Sequence
  • Subarray with Given Sum K

🧱 Stack & Queue

  • Stack using Array/LinkedLists
  • Queue & Circular Queue
  • Monotonic Stack
  • Next Greater Element
  • Min Stack
  • Sliding Window Maximum

🔗 Linked List

  • Singly, Doubly Linked List
  • Reverse Linked List
  • Loop Detection (Floyd’s)
  • Merge Sorted Lists
  • LRU Cache Design

🌳 Trees & BST

  • Tree Traversals
  • Height, Diameter, Balanced Tree
  • Lowest Common Ancestor (LCA)
  • Serialize & Deserialize Tree
  • Kth Smallest Element in BST

📈 Heaps / Priority Queue

  • Min Heap, Max Heap
  • Kth Largest Element
  • Top K Frequent Elements
  • Merge K Sorted Lists

🌐 Tries

  • Trie Implementation
  • Prefix Matching
  • Word Search
  • Auto-complete System

📉 Greedy Algorithms

  • Activity Selection
  • Job Scheduling
  • Fractional Knapsack
  • Huffman Coding

🔁 Dynamic Programming

  • Fibonacci (Memo/Tabulation)
  • 0/1 Knapsack
  • Subset Sum
  • LCS / LIS
  • DP on Grid & Strings

🔄 Graphs

  • Graph Representation
  • BFS, DFS
  • Cycle Detection (Directed/Undirected)
  • Topological Sort
  • Union Find (DSU)
  • Dijkstra, Kruskal, Prim

💡 Bit Manipulation

  • Set/Clear/Toggle Bits
  • Count Set Bits
  • Power of 2
  • XOR Patterns
  • Bitmasking

📐 Matrix

  • Spiral Traversal
  • Rotate Matrix
  • Search in 2D Matrix
  • Number of Islands (DFS/BFS)
  • Word Search

🧠 Advanced (Optional)

  • Segment Tree, Fenwick Tree
  • Suffix Array, Z Algorithm
  • Mo’s Algorithm
  • Bitmask DP

🛠 Tools & Technologies

  • Java 17
  • IntelliJ IDEA / VS Code
  • Git & GitHub
  • LeetCode, GeeksForGeeks, HackerRank

🎯 Learning Goals

  • Build a rock-solid DSA foundation in Java
  • Improve real-time problem-solving
  • Get interview-ready for top tech companies

🙌 Connect With Me


⭐ Star this repo if you're also learning Java or preparing for interviews. Let's grow and learn together!

About

A daily Java-based Data Structures and Algorithms (DSA) learning journey from basics to advanced, with real-world examples, detailed logic, and interview-focused solutions.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages