section 13 questions graphs. graphs a graph representation: –adjacency matrix. pros:? cons:?...

18
Section 13 Questions Questions Graphs

Upload: janis-casey

Post on 06-Jan-2018

244 views

Category:

Documents


0 download

DESCRIPTION

Graphs  A graph representation: –Adjacency matrix. Pros: O(1) check if u is a neighbor of v. Cons:Consumes lots of memory for sparse graphs. Slow in finding all neighbors. –Neighbor lists. Pros:Consume little memory, easy to find all neighbors. Cons:Check if u is a neighbor of v can be expensive.

TRANSCRIPT

Page 1: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Section 13

Questions

Questions

Graphs

Page 2: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Graphs

A graph representation:

– Adjacency matrix.• Pros:?• Cons:?

– Neighbor lists.• Pros:?• Cons:?

Page 3: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Graphs

A graph representation:

– Adjacency matrix.• Pros: O(1) check if u is a neighbor of

v.• Cons:Consumes lots of memory for

sparse graphs. Slow in finding all neighbors.

– Neighbor lists.• Pros:Consume little memory, easy to

find all neighbors. • Cons:Check if u is a neighbor of v can

be expensive.

Page 4: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Graphs

In practice, usually neighbor lists are used.

Page 5: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Some graphs we often meet.

Acyclic - no cycles.Directed, undirected.Directed, acyclic graph = dag.

Page 6: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Topological sorting

A problem: Given a dag G determine the ordering of the vertices such that v precedes u iff there is an edge (v, u) in G.

Algorithm: Take out the vertice with no incoming edges along with its edges, put in the beginning of a list, repeat while necessary.

Implementation?

Page 7: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Topological sorting

More descriptive description:1. For each vertice v compute

count[v] - the number of incoming edges.

2. Put all the vertices with count[v] = 0 to the stack

3. repeat: Take top element v from the stack, decrease count[u] for its neighbors u.

Page 8: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Topological sorting

Implementation:1. Use DFS/BFS to compute

count.

2. Complexity?O(E + V) - 1. takes E, the loop

is executed V times, the number of operations inside loop sums up to E.

Page 9: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Topological sorting

Applications:– Job scheduling.

Page 10: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

The bridges of Konigsberg

Page 11: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

The bridges of Konigsberg

In 1735 Leonard Euler asked himself a question.

Is it possible to walk around Konigsberg walking through each bridge exactly once?

Page 12: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

The brid(g)es of Konigsberg

Page 13: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

The bridges of Konigsberg

It’s not possible!

It’s a graph problem!

Page 14: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Euler’s theorem

The Euler circuit passes through each edge in the graph only once and returns to the starting point.

Theorem: The graph has an Euler circuit iff every vertice has even degree. (the number of adjacent vertices)

Page 15: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Euler’s circuit

How to check if there’s one?

Page 16: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Hamiltonian’s circuit

A cycle which passes through vertice only once.

How to find one efficiently?

Page 17: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

Hamiltonian’s cycle

Nobody knows!!!

Page 18: Section 13  Questions  Graphs. Graphs  A graph representation: –Adjacency matrix. Pros:? Cons:? –Neighbor lists. Pros:? Cons:?

REWARD!!!

$1000000is offered to anyone who finds an

efficient algorithm for finding Hamiltonian cycle in a graph.

DEAD OR ALIVE