Advanced Algorithms (Graph Algorithms) in Java (Udemy.com)
Breadth-First Search, Depth-First Search, Shortest Path, Arbitrage, Strongly Connected Components and Maximum Flow
Created by: Holczer Balazs
Last updated April 2023
What you will learn
- Learn about the applications of data structures
- Learn about the fundamental basics of graphs and graph theory
- Implement advanced algorithms (graph algorithms) efficiently
- Learn graph traversing such as breadth-first search and depth-first search
- Learn about topological ordering and cycle detection
- Learn about shortest path algorithms (Dijkstra's and Bellman-Ford algorithms)
- Learn about spanning trees
- Learn about strongly connected components
- Learn about Hamiltonian cycles and Eulerian cycles
- Learn about maximum flow (max flow min cut theorem)
How it compares
Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:
- Rating4.5 out of 5higher than 46% of them
- Reviews1,361#19 of 87 by number of reviews
- Length12.5 hourslonger than 53% of them
- Last updatedApril 2023more recently than 52% of them
Course Description
This course is about advanced algorithms (graph algorithms) focusing on graph traversal, shortest path problems, spanning trees and maximum flow problems and a lots of its applications from Google Web Crawler to taking advantage of stock market arbitrage situations.
Section 1 - Graphs Theory Basics:
what is a G(V,E) graph
adjacency matrix representation
adjacency list representation
Section 2 - Graph Traversal (Breadth-First Search)
what is breadth-first search?
how to use BFS for WebCrawling in search engines?
Section 3 - Graph Traversal (Depth-First Search)
what is depth-first search?
how to use recursion to implement DFS
applications of DFS such as topological ordering and cycle detection
find way out of a maze with DFS
Section 4 - Topological Ordering
what is topological ordering (topological sort)
directed acyclic graphs (DAGs)
DAG shortest path and longest path
critical path methods and project management
Section 5 - Cycle Detection
what are cycles in a graph?
forward edges and backward edges
cycle detection algorithms (Tarjan's algorithm with DFS)
Section 6 - Dijkstra's Shortest Path Algorithm
what is a shortest path in a G(V,E) graph
Dijkstra's shortest path algorithm
Section 7 - Bellman-Ford Shortest Path Algorithm
Bellman-Ford algorithm
how to handle negative cycles
finding arbitrage opportunities on the FOREX
Section 8: - Spanning Trees (Kruskal and Prim's Algorithms)
what are spanning trees?
union find data structures
Kruskal's algorithm
Prim's algorithm
Section 9 - Strongly Connected Components (SCCs)
what are strongly connected components
Kosaraju's algorithm
Tarjan's algorithm
Section 10 - Maximum Flow Problem
the famous maximum flow problem
how to reduce most of the hard problems to maximum flow problem
Ford-Fulkerson algorithm
bipartite matching problem
Section 9 - Travelling Salesman Problem and Hamiltonian Cycles:
travelling salesman problem (TSP)
how to deal with NP-hard problems
what are meta-heuristics
Section 10 - Eulerian Paths
eulerian paths and eulerian cycles
Hierholzer algorithm and the Chinese Postman Problem
Section 11 - 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
The course is going to take approximately 11 hours to completely but I highly suggest you typing these algorithms out several times in order to get a good grasp of it. You can download the source code of the whole course at the last lecture.
You should definitely take this course if you are interested in advanced topics concerning algorithms. There are a bunch of fields where these methods can be used: from software engineering to scientific research.
Thanks for joining the course, let's get started!
Instructor Details
- 4.5 Rating
1,361 Reviews
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!
More courses by Holczer Balazs
Python Data Structures And Algorithms: Practical Course (2026)
4.7 (4,432 Reviews)
Provider: Udemy
Time: 23.6h
$16.99
Concurrency, Multithreading and Parallel Computing in Java (2026)
4.5 (4,034 Reviews)
Provider: Udemy
Time: 14.4h
$10.99
Software Architectures (SOLID) & Design Patterns in Java (2026)
4.6 (3,772 Reviews)
Provider: Udemy
Time: 9.4h
$11.99
Introduction to Collections, Generics & Reflection in Java (2026)
4.5 (3,649 Reviews)
Provider: Udemy
Time: 11h
$10.99
Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) (2026)
4.7 (3,235 Reviews)
Provider: Udemy
Time: 22.1h
$13.99
Quantitative Finance & Algorithmic Trading in Python (2026)
4.6 (2,714 Reviews)
Provider: Udemy
Time: 18.3h
$13.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 Giuseppe Tavella on 6/9/2026
Balazs is very knowledgeable, this was the course I was looking for. I'll probably get more courses from him. But this is the learning method I'm interested in, computer science-focused and to the point. The learning format is repetitive and after a while it becomes familiar, you know what to expect as far as delivery, speech, language patterns of the instructor etc. This is very good because it means your brain can focus more on problem-solving instead of re-adjusting to learning format. Thank you for the great content, and szia! :)
By Lee Fowler on 4/24/2021
I'm not done with the course yet but I think Holczer is a brilliant instructor with passion for the content. I learn so much from his content (app, courses, tips, etc). I also got his meta-heuristics course and am working through it to get good grasp of graph algorithms. Thanks for your commitment to teaching! One tip: please make the font bigger or set a higher contrast theme, as it will be easier to see the code and follow along.
By Erik Haake on 3/12/2021
A great discussion and overview of important graph algorithms. I appreciated the thorough theoretical sections with very in depth example walk-throughs. I only wish there were some less trivial test cases provided with the implementations. Overall great course though.
By Stephanie Hhnbrg on 1/13/2019
The English pronunciation of the docent is pretty bad and the subtitles are not corresponding to the saying. It is a lot of material timewise. I think he could explain things much quicker. Also he said that in the introduction that there are just two ways to model a graph. But there is also a third way: the adjacency list.
By Dharna on 9/6/2018
The course is well-explained, descriptive. It is one of the best courses for one with beginner-intermediate level of knowledge. One with the expertise in data structures can also utilize the course for practice. The instructor was fast in some of the tutorials. But Overall, a good course to take up.
By Ashesh Singh on 6/21/2018
Great course indeed!!! Complex concepts explained with such ease, especially to folks like me with many years since I finished my college. I am still half way through but can't wait to get till the end!
By Chris Kruger on 5/3/2018
This course is a really great introduction algorithms that are a bit more advanced than the standard Search/Sort stuff you see in other courses. There are solid, practical coding examples for mostly everything in here. Given context of what else is available on Udemy it's great. Otherwise the instructor is a bit dismissive and doesn't go into as much detail as I would've liked. Lots of thoughts that seem to be super relevant are glossed over with the words "... or whatever," which isn't ideal if you're actually trying to learn. Overall though I think there is a lot of value to this course. Just be aware that you'll have to supplement it with other sources if you want to actually understand the topics.
By Dani Konoplya on 4/28/2018
Explanations are clear and to the point. Examples are detailed and in general easy to understand. Only one lesson Maximal Flow problem was little more complicated and solution is trifle cumbersome. In general it is very good course and graph usage is really makes things easy to understand. Thank you very much.
By Daniel Olson on 1/2/2018
Explains everything simply and thoroughly. Only issue I have had is sometimes explanations are too thorough; sometimes we are told the same thing 5-6 times in the span of a few minutes. If you are having a hard time following along, that could be helpful, but if not, it can get annoying.
By Sudharshan Krishnamurthy on 5/9/2017
Instructor explains difficult concepts in a very easy and understandable way. I am very impressed and will definitely recommend this to anybody looking to get a head start on advanced algorithms. I look forward to more such courses from him.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100











