Size: 2.71 GB
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
Requirements
- Core Java
- Eclipse IDE
- Internet connection
- Basic knowledge of data structures
Description
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:
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!
- the basic graph traversal algorithm
- breadth-first search algorithm
- depth-first search algorithm
- shortest path algorithms
- Dijkstra’s algorithm
- Bellman-Ford algorithm
- what are spanning trees
- union find data structures
- Kruskal’s algorithm
- Prim’s algorithm
- what are strongly connected components
- Kosaraju algorithm
- Tarjan algorithm
- the famous maximum flow problem
- how to reduce most of the hard problems to maximum flow problem
- Ford-Fulkerson algorithm
- bipartite matching problem
- travelling salesman problem (TSP)
- how to deal with NP-hard problems
- using meta-heuristics: tabu search and simulated annealing
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