/DSA.java

This repository is dedicated to studying and mastering Data Structures and Algorithms (DSA) using the Java programming language. It serves as a comprehensive resource for learning essential DSA concepts and their implementation in Java, covering everything from basic data structures to advanced algorithms.

Primary LanguageJava

Data Structures and Algorithms in Java

Welcome to the Data Structures and Algorithms (DSA) repository! This repository contains implementations of various data structures and algorithms in Java.

Table of Contents

Introduction

This repository is aimed at helping individuals learn and practice data structures and algorithms using Java. Each data structure and algorithm is implemented in a separate file with detailed explanations and examples.

Data Structures

  • Arrays
  • Linked Lists
  • Stacks
  • Queues
  • Trees
    • Binary Tree
    • Binary Search Tree
    • AVL Tree
    • Red-Black Tree
  • Heaps
  • Graphs
  • Hash Tables

Algorithms

Sorting Algorithms

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • Heap Sort

Searching Algorithms

  • Linear Search
  • Binary Search
  • Depth-First Search (DFS)
  • Breadth-First Search (BFS)

Dynamic Programming

  • Fibonacci Sequence
  • Longest Common Subsequence
  • Knapsack Problem

Greedy Algorithms

  • Activity Selection
  • Huffman Coding

Graph Algorithms

  • Dijkstra's Algorithm
  • Kruskal's Algorithm
  • Prim's Algorithm