Skip to content
UdemyData Structures and AlgorithmsPaid courseAll LevelsCertificate

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

icon
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

icon
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

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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.

icon
More courses by Elshad Karimov

$109.99

$19.99

icon
More Data Structures and Algorithms courses

Free

$119.99

Free

$99.99

$109.99

$84.99

icon
Reviews

4.3

7,888 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

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"

Showing all 10 reviews on CourseDuck

Read all 7,888 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100