Disjoint Set Forests for Maintaining Connected Components

Disjoint Set Forests for Maintaining Connected Components

Disjoint Set Forests for Maintaining Connected Components . Gio Borje and Craig Steinke UC Irvine August 1, 2013 Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Outline 1. Motivation 2. Graph Theory Definitions 3. Algorithm for Connected Components 4. Disjoint-Set Forest Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Motivation: Uniquely Labeling Connected Components . (a) Before (b) After Figure: Unique labels of the connected components of a graph For each pair of vertices, if the pair is connected, union their components. Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Dynamic Solution Disjoint-Set data structure for keeping tracking of partitions of a set. Given a partition of a set of elements, solve two problems dynamically: Find(x) Determine the subset for which an element belongs to Union(S1, S2) Merge two subsets into a single set Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Definitions . Definition . For undirected graphs, vertex v is reachable from vertex u if there .exists a path from u to v. A path from u to v is denoted as u v. Definition . A connected component of an undirected graph is a subgraph such that any vertex of this component can reach every other vertex .and contains no other vertices of the supergraph. Note that connected components are a type of equivalence class. Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Examples f c a f c a g d b g d b . (a) f b (b) equiv(f ) = fc; a; g; d; bg Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components General Algorithm for Connected Components Reduce the graph into a set of sets where each set contains only an individual element. Blank spaces are ignored. f c a . f c a g d b g d b q s r q s The second step is to merge sets if their components are adjacent to r . each other. We require a data structure to Figure: Reference Graph maintain connected components. Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Union-Find Pseudocode procedure Find(x) if x.parent != x then . q a x.parent Find(x.parent) end if b f r s return x.parent end procedure g c d procedure Union(x, y) Find(x).parent Find(y) end procedure Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Labeling Components with Disjoint Sets f c a f c a g d b g d b q s q s r r . (a) Before (b) After Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components Thank you Gio Borje and Craig Steinke Disjoint Set Forests for Maintaining Connected Components.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us