Advanced Algorithms (Graph Algorithms) in Java
- 10 hours on-demand video
- 3 articles
- 2 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Learn about the applications of data structures
- Learn about the fundamental basics of graphs and graph theory
- Implement advanced algorithms (graph algorithms) efficiently
- Able to move towards advanced topics such as machine learning or big data analysis
- Get a good grasp of algorithmic thinking
- Get to know graph algorithms: BFS, DFS, shortest paths and spanning trees
- Core Java
- Eclipse IDE
- Internet connection
- Basic knowledge of data structures
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.
the basic graph traversal algorithm
breadth-first search algorithm
depth-first search algorithm
shortest path algorithms
what are spanning trees
union find data structures
what are strongly connected components
the famous maximum flow problem
how to reduce most of the hard problems to maximum flow problem
bipartite matching problem
travelling salesman problem (TSP)
how to deal with NP-hard problems
using meta-heuristics: tabu search and simulated annealing
eulerian paths and eulerian cycles
Hierholzer algorithm and the Chinese Postman Problem
The course is going to take approximately 10 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!
- This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking in the main
We create the helper classes and again, the Graph class. We transpose our directed graph inside this Graph class, because in Kosaraju algorithm we have to do the first DFS (topological ordering) in the transposed graph.
(transposing a graph is just to reverse each edge: startVertex will be targetVertex and targetVertex will be the startVertex)