A self-study collection of algorithms and data structures implemented in Java. Started from scratch — learning Java syntax alongside algorithmic concepts — and documented implementations that stood out during the process.
Studied from:
- Algorithms, Part I & II by Robert Sedgewick & Kevin Wayne (Coursera)
- LeetCode
- GeeksforGeeks
Reference links included in individual files.
Sorting Heapsort, QuickSort, LSD Radix Sort
Trees / BST BST, BST with Duplicates, Build Tree, Merge BST
Dynamic Programming Knapsack, Longest Increasing Subsequence, Max Subarray Sum/Product
String KMP, Manacher, Booth's Algorithm
Data Structures Segment Tree, Fenwick Tree, Skip List, Priority Queue, Union Find
Linked List Merge K Lists, Reverse K Group