Skip to content
UdemyJavaPaid courseAll LevelsCertificate

Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) (Udemy.com)

Basic Algorithms and Data Structures: AVL tree, Binary Search Trees, Arrays, B Trees, Linked Lists, Stacks and HashMaps

Created by: Holczer Balazs

Last updated September 2026

icon
What you will learn

  • grasp the fundamentals of algorithms and data structures
  • detect non-optimal code snippets
  • learn about arrays and linked lists
  • learn about stacks and queues
  • learn about binary search trees
  • learn about balanced binary search trees such as AVL trees or red-black trees
  • learn about priority queues and heaps
  • learn about B-trees and external memory
  • learn about hashing and hash tables

icon
Course Description

This course is about data structures and algorithms. We are going to implement the problems in Java. The course takes approximately 20 hours to complete. It is highly recommended to type out these data structures several times on your own in order to get a good grasp of it. 

Section 1:

  • data structures and abstract data types

Section 2 - Arrays

  • what are arrays

  • what is random access and how to indexes

Section 3 - Linked Lists

  • linked lists and doubly linked lists

  • linked list related interview questions

Section 2 - Stacks and Queues:

  • what are stacks and queues

  • heap memory and stack memory

  • visualizing stack memory

Section 3 - Binary Search Trees (BSTs):

  • what are tree data structures?

  • how to achieve O(logN) logarithmic running time?

  • binary search trees

Section 4 - AVL Trees

  • what is the problem with binary search trees?

  • balanced search trees: AVL trees

  • rotations

Section 5 - Red-Black Trees

  • what are red-black trees?

  • what is recovering operation?

  • comparing AVL trees and red-black trees

Section 6 - Splay Trees

  • splay trees and caches

  • achieve O(1) running time for getting the recently visited item

Section 7 - Heaps and Priority Queues

  • what are priority queues?

  • what is heap data structure?

  • how to do sorting in O(NlogN) with heaps?

Section 8 - B-Trees

  • external memory and the main memory (RAM)

  • B-trees and their applications in memory

  • B* trees and B+ trees

Section 9 - Hashing and HashMaps:

  • what are hashing and hashtables (hashmaps)

  • what are hash-functions

  • how to achieve O(1) running time complexity

Section 10 - Sorting Algorithms

  • basic sorting algorithms

  • bubble sort and selection sort

  • insertion sort and shell sort

  • quicksort and merge sort

  • comparison based and non-comparison based approaches

  • string sorting algorithms

  • bucket sort and radix sort

Section 11 - Substring Search Algorithms

  • substring search algorithms

  • brute-force substring search

  • Z substring search algorithm

  • Rabin-Karp algorithm and hashing

  • Knuth-Morris-Pratt (KMP) substring search algorithm

Section 12 (BONUS):

  • what is LRU cache

  • LRU cache implementation

Section 13 (BONUS):

  • Fenwick trees (binary indexed trees)

  • binary indexed tree implementation

Section 14 - Algorithms Analysis

  • how to measure the running time of algorithms

  • running time analysis with big O (ordo), big Ω (omega) and big θ (theta) notations

  • complexity classes

  • polynomial (P) and non-deterministic polynomial (NP) algorithms

  • O(1), O(logN), O(N) and several other running time complexities

In each chapter you will learn about the theoretical background of each algorithm or data structure, then we are going to write the code on a step by step basis in Eclipse, Java.

Most of the advanced algorithms relies heavily on these topics so it is definitely worth understanding the basics. These principles can be used in several fields: in investment banking, artificial intelligence or electronic trading algorithms on the stock market.

Thanks for joining the course, let's get started!

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

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$10.99

$11.99

$10.99

$13.99

$84.99

icon
More Java courses

Free

$84.99

$119.99

$174.99

$17.99

$12.99

icon
Reviews

4.7

3,235 ratings on Udemy

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

By Vijayabhaskar Vaidnath on 6/1/2022

After a wide range of working experience I tend to forget the basic concepts it is always better to take a step back (on a good note) to learn what is necessary. With that in mind this course is best suited to refresh the memory on the Algorithms and Data Structures in Java.

By Anonymized User on 4/28/2021

The explanation was really good and i have to appreciate you for the time taken to make the implementation videos of all the data structures and explaining the methods you have instantiated and also please include CIRCULAR LINKED LIST in the Linked List segment. Thankyou so much for the course and make more courses like these.

By Weronika Sleboda on 1/27/2021

I am in the middle of this course but I had to stop just to write how amazed I am by this teacher. I was extremly bad at algorithms, I would say beyond hopeless. I tried to learn from a popular paid website ( I don't want to name it, but it's advertised by Youtube) but it's a joke compared to what this teacher can teach you for such low price. I wouldn't even give his courses on algorithms 5 stars, I would give them 6 stars. Finally someone who teaches how to implement algorithms from scratch (and not copying and pasting the java libraries), someone who teaches algorithmic thinking and not only java syntax, someone who explains WHEN to use a certain data structure and algorithm and WHY. I can't get people who are complaining, because I didn't found any better course in the whole internet world so far. I'm waiting for more courses (maybe more on C++). So far, thank you teacher!

By Rahul Singh Rana on 10/17/2019

It's Amazing but it will be good f you let us understant the programming of B-Tree because it would become very difficult for me to implement. But I learn a lots of things. Fot all of your efforts for bringing this course on Udemy. Thank You!

By Andrew on 1/4/2019

Superb course. The coverage is thorough and Big O notation is discussed. The workings and intentions of the algorithms and data structures are clearly explained along with their trade offs, they are then fully implemented. Bonus sections have been added since I bought this course. Best of all there are interview questions and the solutions are discussed. A very nice addition. You need some knowledge of java or c# (the former is used throughout). I set the video quality to 720p on my smaller second monitor to get the best view overriding the 1080 auto setting. The fonts although small were easily legible this way. As a native English speaker I had no problem understanding what the instructor was saying. Holczer clearly has a passion for algorithms and is very knowledgeable, he has a gift for teaching what can be a difficult subject. Highly recommended. Thank you for putting this course together!

By Ana B Sanchez-Prieto on 12/13/2018

This course is the perfect way to jump from the basic level courses that you can find everywhere to the most advanced ones that are almost impossible to understand after you have completed the basic ones. The explanations are very clear, and the abstract data types are perfectly connected with the data structures that implement them. Can one ask more? Yes: the instructor answers the questions in less than two days!!!! Update: Since I am following Holczer Balazs courses, my CS grades have increased considerably.

By Nitin Jain on 7/10/2018

Excellent Course to get anyone interested in Data Structures. I liked the detailed coverage on Trees. A complimentary course to highlight real-world examples and scenarios using the DS discussed would be great. Already, there are courses- Advanced Algorithms and Algorithmic Problems by the same author which have good implementation examples.

By George Murray on 4/15/2018

Really great course! I wanna thank the instructor for his time and attention to detail! I will be taking many more courses with this instructor. This class will most certainly provide you will a very solid foundation in the most popular and algorithms and data structures, more so than what you would find in a university environment.!

By Yusuf Hamzah on 12/12/2016

This is awesome because the videos integrate theoretical concepts and practical-based learning together in a visible manner. 1) In postgraduate courses, these are done separately between lectures and workshop tutorials. Sometimes, materials are not presented coherently and coordinated. 2) Self-paced experimental learning (by doing) lacks theoretical underpinning of "WHY". 3) Reading (good) book is slow and not interactive. Sometimes, they are also not straight to the point. "Missing tree from jungle" is common. The strength is that the materials presented are properly referenced and checked. Since this is algorithm and programming subject, in my view this delivery format is the most appropriate because it can always be verified (by coding the results) anyway. Thank you.

By Arthur Kerpician on 8/4/2016

Too many updates on the lessons, due to wrongful implementations. The course is useful, but it's hard to follow because the examples (and code) are changing. Also, I think the spoken English must be improved, to provide a better learning experience.

Showing all 10 reviews on CourseDuck

Read all 3,235 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 : 94 / 100