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 1
Foundations: Java Tools & Complexity Analysis
1
Java Collections: Data Structures & Performance
Use List (ArrayList, LinkedList), Set (HashSet, TreeSet), and Map (HashMap, TreeMap) from the Java Collections Framework, explaining their performance trade-offs.
2
Implementing Comparable and Comparator in Java
Implement the Comparable interface and custom Comparators for sorting objects in Java.
3
Fast I/O in Java for Competitive Programming
Handle fast input/output in Java using BufferedReader and StringBuilder for competitive programming scenarios.
4
Analyzing Algorithm Efficiency: Iterative vs. Recursive
Analyze the time complexity of iterative and recursive algorithms (Big O notation).
5
Analyzing Space Complexity: Auxiliary Space and Recursion
Analyze the space complexity of algorithms, including auxiliary space and the recursion stack.
6
Two-Pointer Technique for Sorted Arrays and Strings
Apply the two-pointer technique to solve problems on sorted arrays and strings (e.g., pair sum, palindrome check).
7
Sliding Window Technique for Arrays
Implement and apply the sliding window technique for fixed and variable size window problems on arrays.
8
Sorting with Built-in Java Methods
Use built-in Java methods for sorting (Arrays.sort, Collections.sort) and understand when to use them.
Previous module
Next module
Arrays, Searching, and Basic Sorting