Java Data Structures and Algorithms Masterclass (Udemy.com)
100+ DSA Interview Questions for Cracking FAANG with Animated Examples for Deeper Understanding and Faster Learning
Created by: Elshad Karimov
Last updated December 2025
What you will learn
- Learn, implement, and use different Data Structures
- Learn, implement and use different Algorithms
- Become a better developer by mastering computer science fundamentals
- Learn everything you need to ace difficult coding interviews
- Cracking the Coding Interview with 100+ questions with explanations
- Time and Space Complexity of Data Structures and Algorithms
- Recursion
- Big O
- Dynamic Programming
- Divide and Conquer Algorithms
- Graph Algorithms
- Greedy Algorithms
How it compares
Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:
- Rating4.3 out of 5higher than 18% of them
- Reviews7,888#6 of 87 by number of reviews
- Length46.6 hourslonger than 95% of them
- Last updatedDecember 2025more recently than 79% of them
Course Description
Welcome to the Java Data Structures and Algorithms Masterclass, the most modern, and the most complete Data Structures and Algorithms in Java course on the internet.
At 45+ hours, this is the most comprehensive course online to help you ace your coding interviews and learn about Data Structures and Algorithms in Java. You will see 100+ Interview Questions done at the top technology companies such as Apple,Amazon, Google and Microsoft and how to face Interviews with comprehensive visual explanatory video materials which will bring you closer towards landing the tech job of your dreams!
Learning Java is one of the fastest ways to improve your career prospects as it is one of the most in demand tech skills! This course will help you in better understanding every detail of Data Structures and how algorithms are implemented in high level programming language.
We'll take you step-by-step through engaging video tutorials and teach you everything you need to succeed as a professional programmer.
After finishing this course, you will be able to:
Learn basic algorithmic techniques such as greedy algorithms, binary search, sorting and dynamic programming to solve programming challenges.
Learn the strengths and weaknesses of a variety of data structures, so you can choose the best data structure for your data and applications
Learn many of the algorithms commonly used to sort data, so your applications will perform efficiently when sorting large datasets
Learn how to apply graph and string algorithms to solve real-world challenges: finding shortest paths on huge maps and assembling genomes from millions of pieces.
Why this course is so special and different from any other resource available online?
This course will take you from very beginning to a very complex and advanced topics in understanding Data Structures and Algorithms!
You will get video lectures explaining concepts clearly with comprehensive visual explanations throughout the course.
You will also see Interview Questions done at the top technology companies such as Apple,Amazon, Google and Microsoft.
I cover everything you need to know about technical interview process!
So whether you are interested in learning the top programming language in the world in-depth and interested in learning the fundamental Algorithms, Data Structures and performance analysis that make up the core foundational skillset of every accomplished programmer/designer or software architect and is excited to ace your next technical interview this is the course for you!
And this is what you get by signing up today:
Lifetime access to 44+ hours of HD quality videos. No monthly subscription. Learn at your own pace, whenever you want
Friendly and fast support in the course Q&A whenever you have questions or get stuck
FULL money back guarantee for 30 days!
This course is designed to help you to achieve your career goals. Whether you are looking to get more into Data Structures and Algorithms , increase your earning potential or just want a job with more freedom, this is the right course for you!
The topics that are covered in this course.
Section 1 - Introduction
What are Data Structures?
What is an algorithm?
Why are Data Structures and Algorithms important?
Types of Data Structures
Types of Algorithms
Section 2 - Recursion
What is Recursion?
Why do we need recursion?
How Recursion works?
Recursive vs Iterative Solutions
When to use/avoid Recursion?
How to write Recursion in 3 steps?
How to find Fibonacci numbers using Recursion?
Section 3 - Cracking Recursion Interview Questions
Question 1 - Sum of Digits
Question 2 - Power
Question 3 - Greatest Common Divisor
Question 4 - Decimal To Binary
Section 4 - Bonus CHALLENGING Recursion Problems (Exercises)
power
factorial
productofArray
recursiveRange
fib
reverse
isPalindrome
someRecursive
flatten
captalizeFirst
nestedEvenSum
capitalizeWords
stringifyNumbers
collectStrings
Section 5 - Big O Notation
Analogy and Time Complexity
Big O, Big Theta and Big Omega
Time complexity examples
Space Complexity
Drop the Constants and the non dominant terms
Add vs Multiply
How to measure the codes using Big O?
How to find time complexity for Recursive calls?
How to measure Recursive Algorithms that make multiple calls?
Section 6 - Top 10 Big O Interview Questions (Amazon, Facebook, Apple and Microsoft)
Product and Sum
Print Pairs
Print Unordered Pairs
Print Unordered Pairs 2 Arrays
Print Unordered Pairs 2 Arrays 100000 Units
Reverse
O(N) Equivalents
Factorial Complexity
Fibonacci Complexity
Powers of 2
Section 7 - Arrays
What is an Array?
Types of Array
Arrays in Memory
Create an Array
Insertion Operation
Traversal Operation
Accessing an element of Array
Searching for an element in Array
Deleting an element from Array
Time and Space complexity of One Dimensional Array
One Dimensional Array Practice
Create Two Dimensional Array
Insertion - Two Dimensional Array
Accessing an element of Two Dimensional Array
Traversal - Two Dimensional Array
Searching for an element in Two Dimensional Array
Deletion - Two Dimensional Array
Time and Space complexity of Two Dimensional Array
When to use/avoid array
Section 8 - Cracking Array Interview Questions (Amazon, Facebook, Apple and Microsoft)
Question 1 - Missing Number
Question 2 - Pairs
Question 3 - Finding a number in an Array
Instructor Details
- 4.3 Rating
7,888 Reviews
Elshad Karimov
I am Elshad Karimov and I am a Software Developer, online instructor , blogger and author of book, Data Structures and Algorithms in Swift. I have more than 10 years of software development experience with a solid background in Python and Java as well as Oracle PL/SQL, Swift and C#. I have been working in several companies and developed several extensions for financial and billing softwares. I have developed several games using Unity and mobile apps for different purposes.
More courses by Elshad Karimov
The Complete Data Structures and Algorithms Course in Python (2025)
4.5 (11,501 Reviews)
Provider: Udemy
Time: 46.5h
$109.99
100 Days of Code: JavaScript Data Structures and Algorithms (2025)
4.6 (138 Reviews)
Provider: Udemy
Time: 30.2h
$19.99
More Data Structures and Algorithms courses
JavaScript Data Structures & Algorithms + LEETCODE Exercises (2026)
4.9 (4,131 Reviews)
Provider: Udemy
Time: 9.6h
$119.99
Data Structures & Algorithms: Coding Interview Masterclass (2026)
4.8 (15,900 Reviews)
Provider: Udemy
Time: 10.8h
$99.99
Master the Coding Interview: Big Tech (FAANG) Interviews (2026)
4.8 (6,000 Reviews)
Provider: Udemy
Time: 36.8h
$109.99
Mastering critical SKILLS in Algorithms using C++: Part 1 (2023)
4.8 (598 Reviews)
Provider: Udemy
Time: 18.9h
$84.99
Reviews
By kamrul hassan on 11/28/2023
Great course covers full range of DSA concepts. Conceptual animations are excellent, But they should also be animated alongside while you code. It is hard to grasp the codes for which case the code is being written without seeing the animated case aside. Exercises are comparatively tough than how easily instructor animated the concepts. You should have used more animation while coding and make us prepare step by step for the exercises. I would be totally happy even if I had to watch long time videos, but I could crack exercises fast. So my expectations to the instructor: ->while coding animate beside. so that we can visualize the code easily. ->Make videos and animations such amount that, exercises can be solved easily. ->Animate for exercise solutions also. ->Use whiteboard if necessary, where cases are tedious to animate. Satisfied with course, highly recommended for interested deep learners.
By Yongtapark on 11/21/2023
I am currently studying up to the circular doubly linked list in data structures. It has been incredibly insightful to dissect how data structures are implemented in memory, their overall structure, and the underlying code. However, I have noticed some minor errors in the code. For instance, in the deletion process of the doubly linked list, the condition if(location >= size) for deleting the last element does not seem valid. I believe it should be if(location >= size-1). When the condition you mentioned is used, an error occurs while trying to remove the last node, the 3rd location, in a list of size 4. In the video, setting the location to 9 passed without any issues, but setting it to 3 results in the code falling into the else condition. Moreover, I have reservations about the method for removing all nodes in a doubly linked list. The lecture suggested that all references should be set to null in a loop before removing the head and tail. However, it appears that the nodes are removed even without this loop, merely by setting the tail and head to null. I would appreciate if you could verify this aspect.
By Rajeev . on 7/19/2023
The DSA in Java certification course on Udemy provided an exceptional learning experience. The instructor's teaching style was clear and practical, making complex concepts easy to understand. The hands-on approach, with coding exercises and quizzes, helped reinforce the knowledge gained. While some topics could have been covered in more depth, the course overall exceeded expectations, and the reviewer highly recommends it to aspiring Java developers. The Udemy platform was user-friendly, allowing for flexible learning at one's own pace. The reviewer gives the course 4.5 stars out of 5, expressing satisfaction with their personal learning journey.
By Fernando Rezende Celestino on 6/30/2023
Very nice for being so broad, using Java, and demonstrating algorithms with animations. Extremely valuable to me.. but.. One and a half star less because of poor code quality (lots of repetitions, poor optimization, cryptic variable names like i, j, etc.), and for sometimes not coding what was just explained in the animation (such as in the quick sort algorithm, in that the teacher just doesn't use the left and right pointer logic he just explained in the animations). I strongly suggest using this course in association with the "Cracking the coding interview" book, so that you have access to high quality coding solutions and a more advanced perspective in contrast with this course.
By Atith Dilipbhai Patel on 12/6/2022
Good & wide range of topics covered which was the main reason I decided to go for this course. Content is good but when it comes to coding samples showed in the demo, there are many small mistakes, which can be critical if you're learning for the interview purpose. Some examples from the recent lectures I'm watching, 1. Lecture - Collision Resolution Technique - Linear Probing(insert) - Method - rehashKeys Issue - usedCellNumber should be reset to 0 when creating new Hashtable with double size as we are reinserting all elements 2. Lecture - Collision Resolution Technique - Linear Probing(search, delete) Issue - in delete method usedCellNumber should be decreased by 1 when deleting element from hashtable Along with such kind of issues, there are many inconsistencies, for ex, in the Bubble sort method array param name is 'arr' and inner loop is 'i -> j' but in the next Selection sort lecture method array param name is 'a' and 'j -> i'
By Xavier Fernando Granda Reinoso on 11/23/2022
The course is great, it has examples for each topic. In addition, the explanation of each topic is graphic and very detailed. In general, an excellent course with very good detailed explanations, mostly step by step. Not only that gives many concepts but also the way to use them. It is worth buying it, one of the best courses I have bought to be able to have the basic concepts when it comes to a code challenge or to program with excellence.
By Rohit Chanda on 6/12/2022
I just love how simply Elshad explains every convoluted topic. I love the simplicity of the course. Being a Computer Science graduate and software developer, this course has been handy in revising all the topics in utmost detail. However, explaining certain cases like, for example, why the loop is going till "array.length-1-i" using a dry run table could be more beneficial for the non-tech background students.
By Adarsh Singh Raghuwanshi on 6/9/2022
So far the course is decent to get some understanding of the basics and fundamentals. The only thing that I found somewhat frustrating is that most of the crucial lectures or in places where something important is being implemented via code, the tutor just moves on a very rapid pace and people who are not familiar with coding in general might not grasp what had happened. While making assumptions during coding any important part of the lecture I would assume we get some pictorial explanation side by side to clear our doubts.
By Austin Grewell on 3/18/2022
Sometimes I struggled to understand the instructor due to the accent, but it was never enough to hinder me from learning and I know that is not something that can be helped so it should not detract from the course review. This course was amazing. I learned a lot of things that I never realized even though I took these courses in my own college programs. I was very impressed the entire time and enjoyed all of the lectures and exercises. Even when facing difficulties finding the solution I knew that I could look back on the lecture and find a way to solve the problem through that. Thank you for doing this course. It was very helpful!
By Vigneshwar A S on 7/1/2021
See You knocked out recursive functions. broke into three steps. I used to get fear on proceeding with recursive functions, as it get over complicated . but you break those things into 3 universal steps and loved it. Don't worry , soon you will get more learners and your hard work will get a right fruit. "Please Revise Your CAPTIONS [SUBTITLES], it has lot of errors.. very hard to understand while fast forwarding... hope you will make that in future"
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 86 / 100







