Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Preparation | Greedy on Graphs
Greedy Algorithms using Python
course content

Course Content

Greedy Algorithms using Python

Greedy Algorithms using Python

1. Greedy Algorithms: Overview and Examples
2. Greedy on Arrays
3. Greedy on Graphs

Preparation

This chapter is dedicated to different approaches to find minimum-weighted paths on graphs. We work with oriented weighted graphs here.

To solve problems, we’ll use a pre-implemented class Graph defined with an adjacency matrix, since each edge has some weight that will be stored in the matrix.

1234567891011121314151617
class Graph: def __init__(self, vertices=0): # init graph with this number of vertices self.g = [[0 for _ in range(vertices)] for _ in range(vertices)] def addEdge(self, u, v, w, o = False): # u - start vertex, v - end vertex, w - weight of edge, o - is it oriented self.g[u][v] = w if not o: self.g[v][u] = w def __str__(self): out = "" for row in self.g: out += str(row) + ' ' return out
copy

Switch to desktop for real-world practiceContinue from where you are using one of the options below

Everything was clear?

Section 3. Chapter 1
toggle bottom row

Preparation

This chapter is dedicated to different approaches to find minimum-weighted paths on graphs. We work with oriented weighted graphs here.

To solve problems, we’ll use a pre-implemented class Graph defined with an adjacency matrix, since each edge has some weight that will be stored in the matrix.

1234567891011121314151617
class Graph: def __init__(self, vertices=0): # init graph with this number of vertices self.g = [[0 for _ in range(vertices)] for _ in range(vertices)] def addEdge(self, u, v, w, o = False): # u - start vertex, v - end vertex, w - weight of edge, o - is it oriented self.g[u][v] = w if not o: self.g[v][u] = w def __str__(self): out = "" for row in self.g: out += str(row) + ' ' return out
copy

Switch to desktop for real-world practiceContinue from where you are using one of the options below

Everything was clear?

Section 3. Chapter 1
toggle bottom row

Preparation

This chapter is dedicated to different approaches to find minimum-weighted paths on graphs. We work with oriented weighted graphs here.

To solve problems, we’ll use a pre-implemented class Graph defined with an adjacency matrix, since each edge has some weight that will be stored in the matrix.

1234567891011121314151617
class Graph: def __init__(self, vertices=0): # init graph with this number of vertices self.g = [[0 for _ in range(vertices)] for _ in range(vertices)] def addEdge(self, u, v, w, o = False): # u - start vertex, v - end vertex, w - weight of edge, o - is it oriented self.g[u][v] = w if not o: self.g[v][u] = w def __str__(self): out = "" for row in self.g: out += str(row) + ' ' return out
copy

Switch to desktop for real-world practiceContinue from where you are using one of the options below

Everything was clear?

This chapter is dedicated to different approaches to find minimum-weighted paths on graphs. We work with oriented weighted graphs here.

To solve problems, we’ll use a pre-implemented class Graph defined with an adjacency matrix, since each edge has some weight that will be stored in the matrix.

1234567891011121314151617
class Graph: def __init__(self, vertices=0): # init graph with this number of vertices self.g = [[0 for _ in range(vertices)] for _ in range(vertices)] def addEdge(self, u, v, w, o = False): # u - start vertex, v - end vertex, w - weight of edge, o - is it oriented self.g[u][v] = w if not o: self.g[v][u] = w def __str__(self): out = "" for row in self.g: out += str(row) + ' ' return out
copy

Switch to desktop for real-world practiceContinue from where you are using one of the options below
Section 3. Chapter 1
Switch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt