Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Java Data Structures and Algorithms
·
Module 3
Recursion, Advanced Sorting, and Strings
1
Merge Sort: Implementation and Complexity Analysis
Implement merge sort and analyze its time/space complexity.
2
Counting Inversions with Merge Sort
Solve the 'count inversions' problem by modifying the merge sort algorithm.
3
Quick Sort: Lomuto, Hoare, and Performance Analysis
Implement quick sort using both Lomuto and Hoare partition schemes, and analyze its performance.
4
Counting Sort for Limited Integer Ranges
Apply counting sort for problems where the input is in a limited integer range.
5
Rolling Hash for Fast String Comparison
Apply string hashing techniques (rolling hash) for fast string comparison.
6
Rabin-Karp Algorithm for Pattern Matching
Implement the Rabin-Karp algorithm for pattern matching.
7
Building the LPS Array for KMP
Construct the Longest Proper Prefix which is also a Suffix (LPS) array for the KMP algorithm.
8
KMP Algorithm with LPS Array
Implement the KMP pattern matching algorithm using a precomputed LPS array.
Previous module
Arrays, Searching, and Basic Sorting
Next module
Linked Lists