Skip to content

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Practice Programs

A comprehensive collection of Data Structures and Algorithms implementations in Java.

Project Structure

Data Structures

  • Advanced Data Structures

    • Trie Implementation
    • Segment Tree (with point and range updates)
  • Graphs

    • Algorithms:
      • Bellman Ford
      • Dijkstra's Algorithm
      • Floyd Warshall
      • Minimum Spanning Tree
      • Topological Sort
      • Cycle Detection in Directed & Undirected Graphs
    • Graph Implementations:
      • Undirected Graph (Matrix & Adjacency List)
      • Weighted Directed/Undirected Graphs
  • Heap

    • Binary Heap (Max Priority Queue)
    • Heap Sort
  • LinkedList

    • Basic LinkedList Implementation
    • XOR LinkedList
  • Queue

    • LinkedList Queue
    • Unordered Priority Queue
  • Stacks

    • Array Stack
    • Generic Stack
    • LinkedList Stack
  • Union Find

    • Quick Find
    • Quick Union
    • Weighted Quick Union
    • Path Compression

Algorithms

  • Sorting

    • Quick Sort
    • Merge Sort
    • Shell Sort
    • Insertion Sort
    • Selection Sort
    • Dutch National Flag
    • Knuth Shuffle
  • Search

    • Binary Search Variations

Design Patterns

  • Core Java Programs
    • Builder Pattern
    • Factory Pattern
    • Singleton Pattern
    • Java Streams Examples

Coding Problems

Various coding problems including:

  • Conference Room Scheduling
  • Paint Houses (Dynamic Programming)
  • Sliding Window Maximum
  • Binary Tree Operations
  • String Decoding
  • Circular Buffer Implementation
  • Amazon Fresh Piles
  • And more...

Getting Started

This is a Java project containing various data structure implementations and algorithm solutions. To run any specific implementation:

  1. Navigate to the specific package
  2. Each package has a Main.java file for testing implementations
  3. Run the respective Main.java file

Prerequisites

  • Java JDK 8 or higher
  • Any Java IDE (Eclipse, IntelliJ IDEA, etc.)

Contributing

This is a personal practice repository but suggestions and improvements are welcome.

About

Competitive Programming. Algorithms and data structures.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages