Section 13 Questions 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. Graphs In practice, usually neighbor lists are used. Some graphs we often meet. Acyclic - no cycles. Directed, undirected. Directed, acyclic graph = dag. 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? 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. 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. Topological sorting Applications: – Job scheduling. The bridges of Konigsberg 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? The brid(g)es of Konigsberg The bridges of Konigsberg It’s not possible! It’s a graph problem! 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) Euler’s circuit How to check if there’s one? Hamiltonian’s circuit A cycle which passes through vertice only once. How to find one efficiently? Hamiltonian’s cycle Nobody knows!!! REWARD!!! $1000000 is offered to anyone who finds an efficient algorithm for finding Hamiltonian cycle in a graph. DEAD OR ALIVE
© Copyright 2026 Paperzz