This Article 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. rnThe Article 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. rnIn 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 travelling salesman problem with simulated annealing.rnYou 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.rnWho 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 mainrnSo you've worked with the basics of data structures and algorithms in Java (or another OO programming language) but feel like you need a deeper knowledge of how things work.rnMaybe you have taken other courses on this topic that focus more on teaching how to pass job interview tests (theory) instead of how to make good choices for the programs you develop (implementation).rnOr maybe you are ready to move from a junior programming position to a more senior one and need to get skilled in advanced concepts like data structures, and how to apply them to your own projects.rnWhatever the reason, if you are looking for a course that focus on the implementations to give you a complete understanding of how things work, then this is the course for you.rnThis course goes over the theory of how things work, but only to give you what you need to know to understand the implementation covered. rnComplete source code is included and available for you to download.rnThis is a hands-on course! If you want to try understand things at a deep level, and work on implementations, rather than theory, then again, this is the course for you.rnTopics covered:-rnArraysrnLinked ListsrnTreesrnHashtablesrnStacksrnQueuesrnHeapsrnSort algorithmsrnSearch algorithmsrnThe course also spends more time than most other courses of its kind looking at what’s available in the JDK. Students wanting to understand how things work "under the hood" will benefit enormously from this course.rnWhy learn about data structures and algorithms?rnThe reality is, the more you learn about data structures and algorithms, the better a programmer you become.rnWhy?rnBecause, data structures and algorithms are effectively patterns for solving problems. You want to add as many of them as you can to your skill-set. By doing so, you will find you solve more problems, and use the right tools for the job, in a more elegant way. And you will learn a heap of them in this course.rnWhy enrolling in this course is the best decision you can make.rnYour instructor, Sarah Ettritch has over 25 years’ software development experience and has been working with Java since JDK 1.1. She has spent many years creating tools used by developers, which required a deep knowledge of data structures and algorithms, and is perfectly qualified to teach this course.rnMost courses focus on giving you the theory of how things work, so that you can take an interview. Whilst the theory is important, the knowledge of how to implement these data structures and algorithms are of vital importance.
This course goes over the theory of how things work, but only to give you what you need to know to understand the implementation covered. The main focus of the course is to give you a real understanding of how things work under the hood, so that you can apply this to future programming projects.rnIf you want to actually understand how things work, and be able to take that understanding and apply it to your own programs, then this course is for you.rnAfter completing this course, you will have a solid understanding of data structures and algorithms (both the theory, and the implementation).
The sooner you sign up for this course, the sooner you will have the skills and knowledge you need to increase your job or consulting opportunities. Java developers with key skills and understanding of data structures and algorithms are in high demand and get paid extremely well.rnIf you are ready for that new job promotion or consulting opportunity, it's time to get started.rnWhy not get started today?
Click the Signup button to sign up for the coursernWho is the target audience?
• Developers who have some knowledge of Java (or another OO language) looking to understand data structures and algorithms at a deep levelrn