# Developing with Graph Algorithms

Developing with Graph Algorithms
English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 55m | 2.53 GB

Graphs are powerful data structures that we can use to model real-world relationships of all kinds. Through the paradigm of vertices (or nodes) that represent data, and edges (the connections between vertices), graphs can represent highly complex interconnections in nearly any environment, and you can see them in practical use in everything from social media apps (e.g., Facebook and LinkedIn) to the GPS apps in your phone and car. For each specific use, we can use algorithms that determine and direct how we use a graph, including, for example, algorithms that help networking systems determine the shortest path by which to send packet data to a destination, or those that make suggestions for new friends in your favorite social media app.

In this video course, designed for beginner- to intermediate-level developers and data scientists, host Mark Needham introduces graph algorithms and demonstrates how you can incorporate them into your software development and data science workflow. Your exploration begins by learning about three different categories of algorithms, including within them the world-famous PageRank algorithm, and going through some use cases that are particularly well suited for graph algorithms. You’ll see how to install Neo4j and the graph algorithms library as well as how you can use graph algorithms with Python in a Jupyter notebook. Later, Mark takes you through worked examples using each of the algorithms on real-world datasets. You’ll even get to apply your knowledge of graph algorithms by working through an end-to-end example on a Game of Thrones dataset, also involving graph visualization.

What you’ll learn—and how you can apply it

• The fundamentals of graphs and basic terminology
• Understand what graph algorithms are and learn about the kinds of problems you can solve by using them
• Three widely used categories of algorithms and many specific algorithms within them: pathfinding and graph search algorithms; centrality algorithms; and community detection algorithms
• How to execute graph algorithms against a sample dataset using Neo4j, NetworkX, and igraph
• How graph algorithms can be used with Python in a Jupyter notebook

This video course is for you because…

• You’re a software developer or data scientist who needs to make sense of connected data
• You’re tasked with developing an application that coordinates and controls many disparate interconnected data components
• You want to learn how you can integrate graph algorithms into a Python development environment

Prerequisites:

• You should have a beginner- to intermediate-level knowledge of software development practices
• You should have a familiarity with Python
• You should be comfortable using version control/Git

01 Introduction
02 Module 1 Overview
03 What Are Graphs
04 What Are Graph Algorithms
05 Graph Algorithms Use Cases
06 Types of Graph Algorithms
07 Environment Setup
08 Module 1 Summary
09 Module 2 Overview
10 Introduction
11 Example Data
13 Depth First Search
14 Shortest Path
15 Shortest Path Variation – A
16 Yen’s k-Shortest Path
17 All Pairs Shortest Path
18 Single Source Shortest Path
19 Minimum Spanning Tree
20 Random Walk
21 Module 2 Summary
22 Module 3 Overview
23 Introduction
24 Example Data
25 Degree Centrality
26 Closeness Centrality
27 Betweenness Centrality
28 PageRank
29 Module 3 Summary
30 Checkpoint
31 Module 4 Overview
32 Introduction
33 Example Data
34 Triangle Count and Clustering Coefficient
35 Strongly Connected Components
36 Connected Components
37 Label Propagation
38 Louvain Modularity
39 Module 4 Summary
40 Module 5 Overview
41 Introduction to Yelp Dataset
42 Launching the Yelp Sandbox
43 Graph Model
44 Exploratory Analysis
45 Restaurants App
46 Sicilian Butcher Cross-Promotion
47 Finding Similar Categories
48 Module 5 Summary
49 Module 6 Overview
50 Introduction to Airlines Dataset
51 Importing Data
52 Exploratory Analysis
53 Popular Airports
54 Delays from ORD