Skip to content

Latest commit

 

History

History
122 lines (81 loc) · 4.94 KB

File metadata and controls

122 lines (81 loc) · 4.94 KB

Data Structures and Algorithms in Java

This repository contains implementations of various data structures and algorithms in Java, focusing on using primitive types for efficiency.

Overview

The project aims to provide efficient implementations of fundamental data structures and algorithms using primitive types in Java. By utilizing primitive types, we aim to maximize performance and minimize memory overhead.

DynamicArray da = new DynamicArray("byte"); // primitive type  
da.add((byte)4);
...

StackArray sa = new StackArray("char");  // primitive type  
sa.push('a');
...

QuickSort.sort(arr,'a');  // primitive type  
...

Screenshot 2024-04-11 220948

package structure
dsa
├───algorithms
│   ├───problems
|   |   └───MaximumSubArraySum.java         (primitive types)
│   ├───sort
|   |   ├───BubbleSort.java                 (primitive types + Object type)
|   |   ├───BucketSort.java                 (float + Float + double + Double)
|   |   ├───CountingSort.java               (char + byte + short + int)
|   |   ├───HeapSort.java                   (primitive types + Object type)
|   |   ├───InsertionSort.java              (primitive types + Object type)
|   |   ├───MergeSort.java                  (primitive types + Object type)
|   |   ├───MergeSort_Multithreading.java   (primitive types + Object type)
|   |   ├───QuickSort.java                  (primitive types + Object type)
|   |   ├───RadixSort.java                  (char + byte + short + int + long)
|   |   ├───RandomizedQuickSort.java        (primitive types + Object type)
|   |   └───SelectionSort.java              (primitive types + Object type)
|   └───search
|       └───LinearSearch.java               (primitive types + Object type)
└───datastructures
    ├───heap
    |   └───Heap.java                       (Object type)
    ├───linkedlist
    |   └───Linked_List.java                (primitive types)
    ├───list
    |   └───DynamicArray.java               (primitive types)
    ├───queue
    |   ├───QueueArray.java                 (primitive types)
    |   └───QueueLinkedList.java            (primitive types)
    └───stack
        ├───StackArray.java                 (primitive types)
        └───StackLinkedList.java            (primitive types)

Documentation/Help -> documentation\index.html

Example program -> Example.java


MaximumSubArraySum

MaximumSubArraySum


BubbleSort

Bubble_Sort


BucketSort

Bucket_Sort


CountingSort

Counting_Sort


HeapSort

Heap_Sort


InsertionSort

Insertion_Sort


MergeSort

Merge_Sort


RadixSort

Radix_Sort


RandomizedQuickSort

Randomized_Quick_Sort


SelectionSort

Selection_Sort