data structures
play

Data Structures Union Find Algorithm Theory WS 2012/13 Fabian Kuhn - PowerPoint PPT Presentation

Chapter 4 Data Structures Union Find Algorithm Theory WS 2012/13 Fabian Kuhn Union Find Data Structure Also known as Disjoint Set Data Structure Manages partition of a set of elements set of disjoint sets Operations:


  1. Chapter 4 Data Structures Union Find Algorithm Theory WS 2012/13 Fabian Kuhn

  2. Union ‐ Find Data Structure Also known as Disjoint ‐ Set Data Structure … Manages partition of a set of elements • set of disjoint sets Operations: • ����_������ : create a new set that only contains element � • ������� : return the set containing � • �������, �� : merge the two sets containing � and � Algorithm Theory, WS 2012/13 Fabian Kuhn 2

  3. Disjoint ‐ Set Forests � � � � � � � � � � � � � � � • Represent each set by a tree • Representative of a set is the root of the tree Algorithm Theory, WS 2012/13 Fabian Kuhn 3

  4. Disjoint ‐ Set Forests ����_������ : create new one ‐ node tree � � ������� : follow parent point to root � � (parent pointer to itself) � � � �������, �� : attach tree of � to tree of � � � � � � � � � � � � � � Algorithm Theory, WS 2012/13 Fabian Kuhn 4

  5. Union ‐ By ‐ Size Heuristic Union of sets � � and � � : • Root of trees representing � � and � � : � � and � � • W.l.o.g., assume that � � � |� � | • Root of � � ∪ � � : � � ( � � is attached to � � as a new child) Theorem: If the union ‐ by ‐ rank heuristic is used, the worst ‐ case cost of a ���� ‐ operation is ����� �� Proof: Algorithm Theory, WS 2012/13 Fabian Kuhn 5

  6. Union ‐ Find Algorithms Recall: � operations, � of the operations are make_set ‐ operations Linked List with Weighted Union Heuristic: • make_set : worst ‐ case cost � 1 • find : worst ‐ case cost ��1� • union : amortized worst ‐ case cost ��log �� Disjoint ‐ Set Forest with Union ‐ By ‐ Size Heuristic: • make_set : worst ‐ case cost � 1 • find : worst ‐ case cost ��log �� • union : worst ‐ case cost ��log �� Can we make this faster? Algorithm Theory, WS 2012/13 Fabian Kuhn 6

  7. Path Compression During Find Operation � � � � � � � � � � � � ������� : if � � �. ������ then 1. �. ������ ≔ find �. ������ 2. return �. ������ 3. Algorithm Theory, WS 2012/13 Fabian Kuhn 7

  8. Complexity With Path Compression When using only path compression (without union ‐ by ‐ rank): � : total number of operations • � of which are find ‐ operations • � of which are make_set ‐ operations  at most � � 1 are union ‐ operations Total cost: � � � � ⋅ ��� �� � � � � � � � � � ⋅ ��� �� � � ⁄ � Algorithm Theory, WS 2012/13 Fabian Kuhn 8

  9. Union ‐ By ‐ Size and Path Compression Theorem: Using the combined union ‐ by ‐ size and path compression heuristic, the running time of � disjoint ‐ set (union ‐ find) operations on � elements (at most � make_set ‐ operations) is � � ⋅ � �, � , Where � �, � is the inverse of the Ackermann function. Algorithm Theory, WS 2012/13 Fabian Kuhn 9

  10. Ackermann Function and its Inverse Ackermann Function: For �, ℓ � 1, � ℓ , �� � � �, ℓ � � � � � �, � , �� � � �, ℓ � � � �, ℓ ≔ � � � � �, � �, ℓ � � , �� � � �, ℓ � � Inverse of Ackermann Function: � �, � ≔ ��� � � � | � �, � � ⁄ � ��� � � Algorithm Theory, WS 2012/13 Fabian Kuhn 10

  11. Inverse of Ackermann Function • � �, � ≔ min � � 1 | � �, � � ⁄ � log � � � � � ⟹ � �, � � ⁄ � � �, 1 ⟹ � �, � � min � � 1|� �, 1 � log � • � 1, ℓ � 2 ℓ , � �, 1 � ��� � 1,2� , � �, ℓ � � � � 1, � �, ℓ � 1 Algorithm Theory, WS 2012/13 Fabian Kuhn 11

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend