Advanced Algorithms in Java


Advanced Algorithms in Java

Graph algorithms, breadth-first search, depth-first search, shortest path, arbitrage, strongly connected components

What you’ll learn
  • Learn about the applications of data structures
  • Implement advanced 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 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:

  • the basic graph traversal algorithm
  • breadth-first search algorithm
  • depth-first search algorithm

Section 2:

  • shortest path algorithms
  • Dijkstra’s algorithm
  • Bellman-Ford algorithm

Section 3:

  • what are spanning trees
  • union find data structures
  • Kruskal’s algorithm
  • Prim’s algorithm

Section 4:

  • what are strongly connected components
  • Kosaraju algorithm
  • Tarjan algorithm

Section 5:

  • the famous maximum flow problem
  • how to reduce most of the hard problems to maximum flow problem
  • Ford-Fulkerson algorithm
  • bipartite matching problem

Section 4:

  • travelling salesman problem (TSP)
  • how to deal with NP-hard problems
  • using meta-heuristics: tabu search and simulated annealing

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!

Who this course is for:

  • This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking in the main

Created by Holczer Balazs
Last updated 4/2019
English, Spanish [Auto-generated]

Size: 2.71 GB

Download Now

Leave A Reply

Your email address will not be published.