**Advanced Algorithms in Java**

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 10 Hours | 1.27 GB

eLearning | Skill level: All Levels

Breadth-first search, depth-first search, shortest path, arbitrage, strongly connected components and graph algorithms

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.

The course 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.

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 travelling 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 Will I 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

**+ Table of Contents**

**Introduction**

1 Introduction

2 Graph theory introduction

3 Complexity theory

**Breadth-First Search**

4 Breadth-first search introduction

5 BFS implementation

6 BFS – WebCrawler (core of search engines)

7 BFS – WebCrawler implementation

**Depth-First Search**

8 Depth-first search introduction

9 DFS implementation I – with stack

10 DFS implementation II – with recursion

11 Topological ordering introduction

12 Topological ordering implementation I

13 Topological ordering implementation II

14 Cycle detection introduction

15 Cycle detection implementation I

16 Cycle detection implementation II

17 Maze solving algorithm implementation

18 Memory management_ BFS vs DFS

**Shortest Path Algorithms**

19 Dijkstra algorithm introduction – basics

20 Dijkstra algorithm introduction – algorithm

21 Dijkstra algorithm introduction – example

22 Bellman-Ford algorithm introduction

23 Dijkstra algorithm introduction – with adjacency matrix

24 Shortest path algorithms applications

25 Dijkstra algorithm implementation I

26 Dijkstra algorithm implementation II

27 Bellman-Ford algorithm implementation I

28 Bellman-Ford algorithm implementation II

29 DAG shortest path implementation

30 Arbitrage situations on FOREX introduction

31 Arbitrage situations on FOREX implementation

32 Longest path implementation

**Spanning Trees**

33 Union-find data structure (disjoint sets)

34 Union-find data structure illustration

35 Spanning trees introduction – Kruskal algorithm

36 Kruskal algorithm implementation I

37 Kruskal algorithm implementation II – disjoint set

38 Kruskal algorithm implementation III

39 Spanning trees introduction – lazy Prim’s algorithm

40 Prims lazy algorithm implementation I

41 Prims lazy algorithm implementation II – the core

42 Spanning trees introduction – eager Prim’s algorithm

43 Eager Prim’s algorithm implementation

44 Applications of spanning trees

**Strongly Connected Components**

45 Strongly connected components introduction

46 Kosaraju algorithm introduction

47 Kosaraju implementation I – the Graph class

48 Kosaraju implementation II

49 Kosaraju algorithm implementation III – test

50 Tarjan algorithm introduction

51 Tarjan implementation I

52 Tarjan implementation II – test

53 Applications of strongly connected components

**Maximum Flow Problem**

54 Maximum flow introduction – basics

55 Maximum flow introduction – properties

56 Maximum flow introduction – cuts

57 Maximum flow introduction – residual networks

58 Maximum flow introduction – Ford-Fulkerson algorithm

59 Maximum flow introduction – example

60 Maximum flow introduction – applications

61 Maximum flow implementation I – Edge_ Vertex

62 Maximum flow implementation II – FlowNetwork class

63 Maximum flow implementation III – Ford-Fulkerson algorithm

64 Maximum flow implementation IV – augmentation

65 Maximum flow implementation V – testing

66 Bipartite matching problem introduction

67 Bipartite matching implementation

**Travelling Salesman Problem (TSP)**

68 Travelling salesman problem introduction

69 TSP implementation with simulated annealing I – city

70 TSP implementation with simulated annealing II – tour

71 TSP implementation with simulated annealing III – algorithm

72 TSP implementation with simulated annealing IV – testing

73 Tabu search introduction

74 Tabu search introduction II

**Euler cycle – Chinese Postman Problem**

75 Euler’s cycles introduction

**Source Code & Slides**

76 Source code

77 Slides

78 DISCOUNT FOR OTHER COURSES!