This repository contains Java implementations of various Data Structures and Algorithms (DSA) concepts covered in the Java DSA Course by Scaler. It serves as a learning reference for fundamental and advanced DSA topics.
IslandCount.java- Count the number of islands in a grid.DFSTraversal.java- Depth First Search traversal of a graph.BFSTraversal.java- Breadth First Search traversal of a graph.RottingOrangesProblem.java- Solving the rotting oranges problem.AdjacencyList.java- Graph representation using adjacency lists.AdjacencyMatrix.java- Graph representation using adjacency matrices.
FindElement.java- Search for an element recursively.PrintIncreasing.java- Print numbers in increasing order using recursion.Factorial.java- Calculate the factorial of a number.PrintArrayRecursively.java- Print elements of an array recursively.
StackOperation.java- Implementation of stack operations.QueueOperation.java- Implementation of queue operations.ReverseElementsInQueue.java- Reverse elements in a queue.QueueUsingLinkedList.java- Queue implementation using Linked List.StackUsingLinkedList.java- Stack implementation using Linked List.
TreeOperations.java- Basic tree operations in Java.
MaximumFrequencyCharacter.java- Find the most frequent character.HashMapIntro.java- Introduction to HashMaps.HashSetIntro.java- Introduction to HashSets.IntersectionOfArray.java- Find the intersection of two arrays.
MaxElement.java- Find the maximum element in an array.ReverseArray.java- Reverse an array.SumOfElements.java- Find the sum of elements in an array.SubArray.java- Work with subarrays.
TransposeMatrix.java- Find the transpose of a matrix.
InsertionSort.java- Implementation of Insertion Sort.SelectionSort.java- Implementation of Selection Sort.BubbleSort.java- Implementation of Bubble Sort.ArraysSort.java- Using Java's built-inArrays.sort().
OperationsOnLinkedList.java- Linked List operations.
KthLargestElement.java- Find the Kth largest element using heaps.PriorityQueueOperations.java- Implementing priority queue operations.
FibonacciSeries.java- Solve Fibonacci using Dynamic Programming.ClimbStairsProblem.java- Find ways to climb stairs using DP.MinimumPathSumProblem.java- Solve the minimum path sum problem.
RemoveVowel.java- Remove vowels from a string.ReverseVowels.java- Reverse only the vowels in a string.UpperToLower.java- Convert uppercase letters to lowercase.
RemoveEven.java- Remove even numbers from an ArrayList.OperationsOnArrayList.java- Perform basic ArrayList operations.
Java DSA/
│-- Graphs/
│-- Recursion/
│-- StackQueue/
│-- Tree/
│-- HashMap/
│-- Arrays/
│ ├── oneDimensionalArray/
│ ├── twoDimensionalArray/
│-- Sorting/
│-- LinkedList/
│-- Heap/
│-- Dynamic Programming/
│-- Strings/
│-- ArrayList/
- Clone this repository:
git clone https://github.com/agneepradeep/Java-DSA
- Open any
.javafile in your favorite IDE or VS Code. - Compile and run the Java files:
javac FileName.java java FileName
✔ Covers all fundamental and advanced DSA topics.
✔ Well-structured Java implementations.
✔ Useful for coding interviews, competitive programming, and revision.
This project is open-source and available under the MIT License.