This course is about advanced algorithms focusing on graph traversal, shortest path problems, spanning trees and maximum flow problems and a lot of its applications from Google Web Crawler to taking advantage of stock market arbitrage situations.
The course is going to take approximately 11 hours to complete 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.
In the first section we are going to talk about the main graph traversal algorithms (BFS, DFS) and its applications of course such as WebCrawler or topological ordering. The next section is about shortest path algorithms: there are several applications which we are going to be familiar with from image processing to FOREX arbitrage. The next chapter is about minimum spanning trees and clustering algorithms. Then, we are going to learn about the maximum flow problem, maybe the most important algorithm in this course. The last chapter is about how to solve NP problems such as the traveling salesman problem with simulated annealing.
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.
What are the requirements?
- Core Java
- Eclipse IDE
- Internet connection
- Basic knowledge of data structures
What am I going to get from this course?
- 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
What is the target audience?
- This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking in the main