Skip to content

This repository contains Java implementations of various Data Structures and Algorithms (DSA) concepts learned from Scaler's Java DSA Course. It covers Graphs, Recursion, Stacks, Queues, Trees, HashMaps, Arrays, Sorting, LinkedLists, Heaps, Dynamic Programming, Strings, and ArrayLists with well-structured code examples.

License

Notifications You must be signed in to change notification settings

agneepradeep/Java-DSA

Repository files navigation

Java DSA Course - Master the Fundamentals and Beyond 🚀

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.

📌 Topics Covered

🔹 Graphs

  • 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.

🔹 Recursion

  • 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.

🔹 Stack and Queue

  • 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.

🔹 Tree

  • TreeOperations.java - Basic tree operations in Java.

🔹 HashMap & HashSet

  • 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.

🔹 Arrays

1D 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.

2D Arrays

  • TransposeMatrix.java - Find the transpose of a matrix.

🔹 Sorting Algorithms

  • InsertionSort.java - Implementation of Insertion Sort.
  • SelectionSort.java - Implementation of Selection Sort.
  • BubbleSort.java - Implementation of Bubble Sort.
  • ArraysSort.java - Using Java's built-in Arrays.sort().

🔹 Linked List

  • OperationsOnLinkedList.java - Linked List operations.

🔹 Heap

  • KthLargestElement.java - Find the Kth largest element using heaps.
  • PriorityQueueOperations.java - Implementing priority queue operations.

🔹 Dynamic Programming

  • FibonacciSeries.java - Solve Fibonacci using Dynamic Programming.
  • ClimbStairsProblem.java - Find ways to climb stairs using DP.
  • MinimumPathSumProblem.java - Solve the minimum path sum problem.

🔹 Strings

  • RemoveVowel.java - Remove vowels from a string.
  • ReverseVowels.java - Reverse only the vowels in a string.
  • UpperToLower.java - Convert uppercase letters to lowercase.

🔹 ArrayList

  • RemoveEven.java - Remove even numbers from an ArrayList.
  • OperationsOnArrayList.java - Perform basic ArrayList operations.

📂 Project Structure

Java DSA/
│-- Graphs/
│-- Recursion/
│-- StackQueue/
│-- Tree/
│-- HashMap/
│-- Arrays/
│   ├── oneDimensionalArray/
│   ├── twoDimensionalArray/
│-- Sorting/
│-- LinkedList/
│-- Heap/
│-- Dynamic Programming/
│-- Strings/
│-- ArrayList/

💡 How to Use

  1. Clone this repository:
    git clone https://github.com/agneepradeep/Java-DSA
  2. Open any .java file in your favorite IDE or VS Code.
  3. Compile and run the Java files:
    javac FileName.java
    java FileName

🔥 Why This Repository?

✔ Covers all fundamental and advanced DSA topics.
✔ Well-structured Java implementations.
✔ Useful for coding interviews, competitive programming, and revision.

📜 License

This project is open-source and available under the MIT License.


About

This repository contains Java implementations of various Data Structures and Algorithms (DSA) concepts learned from Scaler's Java DSA Course. It covers Graphs, Recursion, Stacks, Queues, Trees, HashMaps, Arrays, Sorting, LinkedLists, Heaps, Dynamic Programming, Strings, and ArrayLists with well-structured code examples.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages