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.
Learning Data Structures
·
Module 3
Sorting & Searching Algorithms
1
Sorting Algorithms: Selection, Bubble, and Insertion
Implement fundamental sorting algorithms: Selection Sort, Bubble Sort, and Insertion Sort.
Merge Sort: Algorithm and Complexity
Implement Merge Sort using the divide-and-conquer paradigm and analyze its O(n log n) complexity.
3
Quick Sort: Pivoting and Performance
Implement Quick Sort, choose a pivot, and understand its average vs. worst-case performance.
4
Custom Sorting with Comparators
Use Java's `Arrays.sort()` and `Collections.sort()` with custom comparators for complex sorting logic.
Binary Search: Find, Lower Bound, and Upper Bound
Implement binary search on a sorted array to find a target, its insertion position (lower bound), and its upper bound.
6
Binary Search for First and Last Occurrence
Apply binary search to find the first and last occurrence of an element in a sorted array with duplicates.
7
Searching in Rotated Sorted Arrays
Solve problems by searching in a rotated sorted array.
Merge Sort for Counting Inversions
Apply merge sort logic to solve the 'Count Inversions' problem.
Previous module
Arrays & Hashing
Next module
Strings & Sliding Window Patterns