Graph Consists of nodes/vertices and edges. Edges may be directed - - PowerPoint PPT Presentation

graph
SMART_READER_LITE
LIVE PREVIEW

Graph Consists of nodes/vertices and edges. Edges may be directed - - PowerPoint PPT Presentation

CPSC 3200 Practical Problem Solving University of Lethbridge Graph Consists of nodes/vertices and edges. Edges may be directed or undirected. Edges may be weighted. Representation: adjacency matrix or adjacency list


slide-1
SLIDE 1

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Graph

  • Consists of nodes/vertices and edges.
  • Edges may be directed or undirected.
  • Edges may be weighted.
  • Representation: adjacency matrix or adjacency list

Graphs I 1 – 11 Howard Cheng

slide-2
SLIDE 2

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Graph

  • Adjacency matrix

– Adjacency determination: O(1) – Finding neighbours: O(n) – O(n2) space

  • Adjacency list

– Adjacency determination: O(n) – Finding neighbours: O(deg) – O(n + m) space

Graphs I 2 – 11 Howard Cheng

slide-3
SLIDE 3

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Implicit Graphs

  • Sometimes the graph is too big to build compared to the portion that is

explored.

  • If there is a way to generate neighbours given any vertex, we do not have

to explicitly build the graph.

  • e.g. configurations of some puzzle or game

Graphs I 3 – 11 Howard Cheng

slide-4
SLIDE 4

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Depth-first Search

  • Can be used to process connected components.
  • Need to watch out for stack overflow.
  • Relatively simple to write.
  • O(n2) or O(n + m) depending on representation.

Graphs I 4 – 11 Howard Cheng

slide-5
SLIDE 5

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Breadth-first Search

  • Similar to DFS but uses a queue.
  • Guaranteed to examine closest vertices first (by number of edges).
  • Can be used to find shortest paths when each edge has same weight.
  • O(n2) or O(n + m) depending on representation.

Graphs I 5 – 11 Howard Cheng

slide-6
SLIDE 6

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Bipartite Check

  • Colours must alternate between black and white.
  • Use DFS to colour nodes, and make sure that no coloured neighbour has

the same colour.

Graphs I 6 – 11 Howard Cheng

slide-7
SLIDE 7

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Topological Sort

  • Given a directed acyclic graph, returns an order of the vertices such that

if there is a path from v1 to v2 then v1 occurs earlier than v2 in the order.

  • e.g. satisfying prerequsite requirements
  • top_sort.cc in library.

Graphs I 7 – 11 Howard Cheng

slide-8
SLIDE 8

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Biconnected Component

  • A graph is biconnected if removing any single vertex from the graph

(and all adjacent edges) leaves a graph with a single component.

  • An articulation point is a vertex such that when it is removed, the

remaining graph is disconnected.

  • A biconnected component is a maximal subgraph that is biconnected.
  • A bridge is a biconnected component with a single edge.
  • Application: critical points in networks, converting two-way streets to
  • ne-way streets.
  • Biconnected components can be obtained from DFS.
  • bicomp.cc in library.

Graphs I 8 – 11 Howard Cheng

slide-9
SLIDE 9

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Strongly Connected Component

  • A directed graph is strongly connected if between each pair of vertices

u and v, there is a path from u to v and vice versa.

  • Strongly connected components is a maximal subgraph that is

strongly connected.

  • The SCCs in a graph form a directed acyclic graph.
  • Obtained from DFS. See scc.cc in library.

Graphs I 9 – 11 Howard Cheng

slide-10
SLIDE 10

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Minimum Spanning Tree

  • Given a weighted undirected graph, choose a subset of edges so that the

graph is connected and the total weight is minimum.

  • Kruskal’s algorithm is the easiest (based on union-find).
  • O(m log m)

Graphs I 10 – 11 Howard Cheng

slide-11
SLIDE 11

CPSC 3200 Practical Problem Solving University of Lethbridge

✬ ✫ ✩ ✪

Applications of MST and MST Algorithms

  • Cheapest way to connect a set of computers, cities, etc.
  • Minimum spanning forests.
  • Second-best MST.
  • Minimax path problems.

Graphs I 11 – 11 Howard Cheng