Tags
Language
Tags
July 2025
Su Mo Tu We Th Fr Sa
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Advanced Algorithms (Graph Algorithms) In Java

    Posted By: ELK1nG
    Advanced Algorithms (Graph Algorithms) In Java

    Advanced Algorithms (Graph Algorithms) In Java
    Last updated 6/2022
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 2.48 GB | Duration: 12h 30m

    Breadth-First Search, Depth-First Search, Shortest Path, Arbitrage, Strongly Connected Components and Maximum Flow

    What you'll learn
    Learn about the applications of data structures
    Learn about the fundamental basics of graphs and graph theory
    Implement advanced algorithms (graph algorithms) efficiently
    Learn graph traversing such as breadth-first search and depth-first search
    Learn about topological ordering and cycle detection
    Learn about shortest path algorithms (Dijkstra's and Bellman-Ford algorithms)
    Learn about spanning trees
    Learn about strongly connected components
    Learn about Hamiltonian cycles and Eulerian cycles
    Learn about maximum flow (max flow min cut theorem)
    Requirements
    Internet connection
    Basic knowledge of data structures
    Description
    This course is about advanced algorithms (graph 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 - Graphs Theory Basics:what is a G(V,E) graphadjacency matrix representationadjacency list representationSection 2 - Graph Traversal (Breadth-First Search)what is breadth-first search?how to use BFS for WebCrawling in search engines?Section 3 - Graph Traversal (Depth-First Search)what is depth-first search?how to use recursion to implement DFSapplications of DFS such as topological ordering and cycle detectionfind way out of a maze with DFSSection 4 - Topological Orderingwhat is topological ordering (topological sort)directed acyclic graphs (DAGs)DAG shortest path and longest pathcritical path methods and project managementSection 5 - Cycle Detectionwhat are cycles in a graph?forward edges and backward edgescycle detection algorithms (Tarjan's algorithm with DFS)Section 6 - Dijkstra's Shortest Path Algorithmwhat is a shortest path in a G(V,E) graphDijkstra's shortest path algorithmSection 7 - Bellman-Ford Shortest Path AlgorithmBellman-Ford algorithmhow to handle negative cyclesfinding arbitrage opportunities on the FOREXSection 8: - Spanning Trees (Kruskal and Prim's Algorithms)what are spanning trees?union find data structuresKruskal's algorithmPrim's algorithmSection 9 - Strongly Connected Components (SCCs)what are strongly connected componentsKosaraju's algorithmTarjan's algorithmSection 10 - Maximum Flow Problemthe famous maximum flow problemhow to reduce most of the hard problems to maximum flow problemFord-Fulkerson algorithmbipartite matching problemSection 9 - Travelling Salesman Problem and Hamiltonian Cycles:travelling salesman problem (TSP)how to deal with NP-hard problemswhat are meta-heuristicsSection 10 - Eulerian Pathseulerian paths and eulerian cyclesHierholzer algorithm and the Chinese Postman ProblemSection 11 - Algorithms Analysishow to measure the running time of algorithmsrunning time analysis with big O (ordo), big Ω (omega) and big θ (theta) notationscomplexity classespolynomial (P) and non-deterministic polynomial (NP) algorithmsO(1), O(logN), O(N) and several other running time complexitiesThe 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.  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!

    Overview

    Section 1: Introduction

    Lecture 1 Introduction

    Lecture 2 Complexity theory basics

    Section 2: Graph Theory Overview

    Lecture 3 Graph theory overview

    Lecture 4 Adjacency matrix and adjacency list

    Lecture 5 Adjacency matrix and adjacency list implementation

    Lecture 6 Applications of graphs

    Section 3: Breadth-First Search (BFS)

    Lecture 7 Breadth-first search introduction

    Lecture 8 Breadth-first search implementation

    Section 4: Course Challenge #1 - WebCrawler

    Lecture 9 Breadth-first search - WebCrawler (core of search engines)

    Lecture 10 Breadth-first search - WebCrawler implementation

    Section 5: Depth-First Search (DFS)

    Lecture 11 Depth-first search introduction

    Lecture 12 DFS implementation I - with stack

    Lecture 13 DFS implementation II - with recursion

    Lecture 14 Depth-first search and stack memory visualisation

    Lecture 15 Memory management: BFS vs DFS

    Section 6: Course Challenge #2- Maze Escape

    Lecture 16 Maze problem introduction

    Lecture 17 Course challenge #1 - maze escape

    Lecture 18 Maze solving algorithm implementation

    Section 7: Topological Ordering

    Lecture 19 What is topological ordering?

    Lecture 20 Topological ordering implementation I

    Lecture 21 Topological ordering implementation II

    Lecture 22 Finding the shortest path with topological ordering

    Lecture 23 Topological ordering shortest path implementation I

    Lecture 24 Topological ordering shortest path implementation II

    Lecture 25 Dynamic programming with topological sort

    Section 8: Cycle Detection

    Lecture 26 Cycle detection introduction

    Lecture 27 Cycle detection implementation I

    Lecture 28 Cycle detection implementation II

    Section 9: Shortest Path Methods - Dijkstra's Algorithm

    Lecture 29 What is the shortest path problem?

    Lecture 30 Dijkstra algorithm visualization

    Lecture 31 Dijkstra algorithm implementation I

    Lecture 32 Dijkstra algorithm implementation II

    Lecture 33 Dijkstra algorithm implementation III

    Lecture 34 Dijktsra's algorithm with adjacency matrix representation

    Lecture 35 Shortest path algorithms applications

    Section 10: Course Challenge #3 - Longest Path

    Lecture 36 The critical path method (CPM) and longest paths

    Lecture 37 Course challenge #3 - DAG shortest path

    Lecture 38 Longest path implementation

    Section 11: Shortest Path Methods - Bellman-Ford Algorithm

    Lecture 39 What is the Bellman-Ford algorithm?

    Lecture 40 Bellman-Ford algorithm visualisation

    Lecture 41 Bellman-Ford algorithm implementation I

    Lecture 42 Bellman-Ford algorithm implementation II

    Lecture 43 Greedy algorithm or dynamic programming approach?

    Section 12: Course Challenge #4 - Arbitrage on FOREX

    Lecture 44 Arbitrage situations on FOREX introduction

    Lecture 45 Arbitrage situations on FOREX implementation

    Section 13: Spanning Trees - Kruskal's Algorithm

    Lecture 46 What is the disjoint set data structure?

    Lecture 47 Disjoint sets visualization

    Lecture 48 Kruskal's algorithm introduction

    Lecture 49 Kruskal algorithm implementation I

    Lecture 50 Kruskal algorithm implementation II

    Lecture 51 Kruskal algorithm implementation III

    Section 14: Spanning Trees - Prim's Algorithm

    Lecture 52 What is the lazy Prim's algorithm?

    Lecture 53 Lazy Prim's algorithm implementation I

    Lecture 54 Lazy Prim's algorithm implementation II

    Lecture 55 What is the eager Prim's algorithm?

    Lecture 56 Eager Prim's algorithm implementation

    Lecture 57 Comparison of minimum spanning tree algorithms

    Lecture 58 Applications of spanning trees

    Section 15: Strongly Connected Components - Kosaraju's Algorithm

    Lecture 59 Strongly connected components introduction

    Lecture 60 Kosaraju algorithm introduction

    Lecture 61 Kosaraju algorithm implementation I

    Lecture 62 Kosaraju algorithm implementation II

    Lecture 63 Kosaraju algorithm implementation III

    Section 16: Strongly Connected Components - Tarjan's Algorithm

    Lecture 64 Tarjan algorithm introduction

    Lecture 65 Tarjan algorithm visualization

    Lecture 66 Tarjan algorithm implementation

    Lecture 67 Applications of strongly connected components

    Section 17: Maximum Flow Problem

    Lecture 68 Maximum flow introduction - basics

    Lecture 69 Maximum flow introduction - properties

    Lecture 70 Maximum flow introduction - cuts

    Lecture 71 Maximum flow introduction - residual networks

    Lecture 72 Maximum flow introduction - Ford-Fulkerson algorithm

    Lecture 73 Maximum flow introduction - example

    Lecture 74 Maximum flow implementation I - Edge, Vertex

    Lecture 75 Maximum flow implementation II - FlowNetwork class

    Lecture 76 Maximum flow implementation III - Ford-Fulkerson algorithm

    Lecture 77 Maximum flow implementation IV - augmentation

    Lecture 78 Maximum flow implementation V - testing

    Lecture 79 Applications of maximum flow problem

    Lecture 80 Article on maximum flow problem

    Section 18: Hamiltonian Cycles - Travelling Salesman Problem (TSP)

    Lecture 81 What are Hamiltonian cycles?

    Lecture 82 The travelling salesman problem

    Lecture 83 Travelling salesman problem implementation I

    Lecture 84 Travelling salesman problem implementation II

    Lecture 85 TSP and stack memory visualization

    Lecture 86 Why to use meta-heuristics?

    Section 19: Eulerian Cycles - Chinese Postman Problem

    Lecture 87 Eulerian cycles introduction

    Lecture 88 Eulerian cycles application

    Section 20: ### APPENDIX - COMPLEXITY THEORY CRASH COURSE ###

    Lecture 89 How to measure the running times of algorithms?

    Lecture 90 Complexity theory illustration

    Lecture 91 Complexity notations - big (O) ordo

    Lecture 92 Complexity notations - big Ω (omega)

    Lecture 93 Complexity notations - big (θ) theta

    Lecture 94 Algorithm running times

    Lecture 95 Complexity classes

    Lecture 96 Analysis of algorithms - loops

    Lecture 97 Case study - O(1)

    Lecture 98 Case study - O(logN)

    Lecture 99 Case study - O(N)

    Lecture 100 Case study - O(N*N)

    Section 21: Algorhyme FREE Algorithms Visualizer App

    Lecture 101 Algorithms Visualization App

    Lecture 102 Algorhyme - Algorithms and Data Structures

    Section 22: Course Materials (DOWNLOADS)

    Lecture 103 Course materials

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