1 / 13

Chapter 9 : Graphs Part II (Minimum Spanning Trees)

Chapter 9 : Graphs Part II (Minimum Spanning Trees). CE 221 Data Structures and Algorithms. T ext : Read Weiss, § 9.5. Minimum Spanning Tree. A minimum spanning tree of an undirected graph G is a tree formed from graph edges that connects all the vertices of G at a lowest cost.

dulcea
Télécharger la présentation

Chapter 9 : Graphs Part II (Minimum Spanning Trees)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 9 : Graphs Part II(Minimum Spanning Trees) CE 221 Data Structures and Algorithms Text: Read Weiss, §9.5 Izmir University of Economics

  2. Minimum Spanning Tree • A minimum spanning tree of an undirected graph G is a tree formed from graph edges that connects all the vertices of G at a lowest cost. • # of edges in a MST is |V|-1. • If an edge e not in a MST T is added, acycle is created. The removal of an edge from a cycle reinstates the spanning tree property. As MST is created, if minimum cost edge not creating cycles is selected, then it’s a MST. So, greed works for MST problem. Izmir University of Economics

  3. Prim’s Algorithm • Proceed in stages. In each stage, find a new vertex to add to the tree already formed by choosing an edge (u, v) such that the cost of (u, v) is the smallest among all the edges where u is in the tree and v is not. • Prim’s algorithm for MSTs is essentially identical to Dijkstra’s for shortest paths. • Update rule is even simpler: after a vertex is picked, for each unknown w adjacent to v, dw=min(dw, cv,w). Izmir University of Economics

  4. Prim’s Algorithm – Example I Izmir University of Economics

  5. Prim’s Algorithm – Example II Izmir University of Economics

  6. Prim’s Algorithm – Example III Izmir University of Economics

  7. Prim’s Algorithm – Example IV Izmir University of Economics

  8. Prim’s Algorithm – Time Complexity • The running time is O(|V|2) (|V| iterations in each of which a sequential scan is performed to find the minimum cost unknown edge) without heaps, which is optimal for dense graphs. • O(|E|*log|V|) (an underlying binary heap with |V| elements is used, and |V| deleteMin (for picking min cost vertex) and at most |E| decreaseKey (for updates) are performed each taking O(log|V|) time) using binary heaps,which is good for sparse graphs Izmir University of Economics

  9. Kruskal’s Algorithm • A second greedy strategy is continually to select the edges in order of smallest weight and accept an edge if it does not cause a cycle.Formally, Kruskal'salgorithm maintains a forest - a collection of trees. Initially, there are |V| single-node trees. Adding an edge merges two trees into one. When the algorithm terminates, there is only one tree, and this is the minimum spanning tree. Izmir University of Economics

  10. An example run of Kruskal’s Algorithm Izmir University of Economics

  11. Kruskal’s Algorithm: Pseudo Code I // Create the list of all edges E solution = { } // will include the list of MST edgeswhile ( more edges in E) do// Selection select minimum weight(cost) edgeremove edge from E// Feasibility if (edge closes a cycle with solution so far) then reject edgeelse add edge to solution// Solution check if |solution| = |V | - 1 return solution Izmir University of Economics

  12. Kruskal’sAlgorithm:Pseudo Code II The worst-caserunning time of this algorithm is O(|E|log|E|), which isdominated by the heap operations.Notice thatsince|E| = O(|V|2),thisrunningtime is actuallyO(|E| log |V|).In practice, the algorithm is much faster. Izmir University of Economics

  13. Homework Assignments • 9.15, 9.16 • You are requested to study and solve the exercises. Note that these are for you to practice only. You are not to deliver the results to me. Izmir University of Economics

More Related