This repository contains implementations of various data structures and algorithms in Java, focusing on using primitive types for efficiency.
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
...
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