Disjoint Sets. Definition Linked List Representation Disjoint-Set Forests. CS 5633 Analysis of Algorithms Chapter 21: Slide 1
|
|
- Jemima Moody
- 5 years ago
- Views:
Transcription
1 Disjoint Sets Definition Linked List Representation Disjoint-Set Forests CS 56 Analysis of Algorithms Chapter : Slide
2 Disjoint Sets (Union-Find Problem) O(lgn) O(lgn) A disjoint set data structure supports the following. x and y are elements. Make-Set(x): Creates a new set {x}. x must not be in any other set. Union(x, y): Combine the set that contains x with the set that contains y. Find-Set(x): Find-Set(x) = Find-Set(y) iff x and y are in the same set. CS 56 Analysis of Algorithms Chapter : Slide
3 Connected Components Example O(lgn) O(lgn) Example: Connected components of an undirected graph Connected-Components(G) for each vertex v in graph G Make-Set(v) for each edge (u,v) in graph G if Find-Set(u) Find-Set(v) then Union(u, v) CS 56 Analysis of Algorithms Chapter : Slide
4 Linked List Representation O(lgn) O(lgn) CS 56 Analysis of Algorithms Chapter : Slide 4
5 Linked List Operations O(lgn) O(lgn) Make-Set(x) set new set set.head x set.tail x set.size x.set set x.next nil Find-Set(x) return x.set Union(x, y) sx Find-Set(x) sy Find-Set(y) if sx = sy return if sx.size < sy.size then exchange sx sy sx.tail.next sy.head sx.tail sy.tail sx.size sx.size + sy.size while y nil y.set sx y y.next CS 56 Analysis of Algorithms Chapter : Slide 5
6 Amortized Analysis of Linked List O(lgn) O(lgn) Assume m including n Make-Sets. Analyze number of assignments to set field. Using accounting method of amortized analysis: Use amortized cost +lg n units per Make-Set. Consider an arbitrary element x. Use one unit immediately for Make-Set(x). Use one unit each time Union modifies x.set. CS 56 Analysis of Algorithms Chapter : Slide 6
7 Amortized Analysis Continued O(lgn) O(lgn) Union changes set fields of the smaller set, so a change to x.set at least doubles x s set size. The size of a set cannot exceed n = lgn, so the cost lgn+ covers all changes to x.set. Over n elements, the total amortized cost is n(lgn+). There can be O(m) Find-Set, so total time is O(m+nlgn). Easy to show n Unions can make (n/)lgn changes to set fields, so O(m+nlgn) is tight. CS 56 Analysis of Algorithms Chapter : Slide 7
8 Disjoint-Set Forests disjoint-set forests O(lgn) O(lgn) CS 56 Analysis of Algorithms Chapter : Slide 8
9 Disjoint-Set Forest Operations O(lgn) O(lgn) Assume x has fields parent and rank. Make-Set(x) x.parent x x.rank 0 Find-Set(x) if x = x.parent then return x else y Find-Set(x.parent) x.parent y return y CS 56 Analysis of Algorithms Chapter : Slide 9
10 Forest Operations Continued O(lgn) O(lgn) Union(x, y) x Find-Set(x) y Find-Set(y) if x = y return if x.rank > y.rank then y.parent x else x.parent y if x.rank = y.rank then y.rank y.rank+ CS 56 Analysis of Algorithms Chapter : Slide 0
11 O(lg n) Per Operation Analysis O(lgn) analysis O(lgn) The rank r is the height h of the tree: Basis: When r = 0, then h = 0. Assume: When r = k, then h k. Show: When r = k +, h k +. Induction: h can increase only when combining two trees with same r. CS 56 Analysis of Algorithms Chapter : Slide
12 O(lg n) Per Op. Analysis Continued O(lgn) O(lgn) analysis A tree with rank r has r nodes. Basis: When r = 0, there is 0 = node. Assume: When r = k, there are k nodes. Show: When r=k+, there are k+ nodes. Induction: r increases only when combining two trees with same r. Their union must have ( k ) = k+ nodes. Without considering compression, this implies that Find-Set will traverse lg n links/call. CS 56 Analysis of Algorithms Chapter : Slide
13 Amortized Analysis for O(lglgn) (not in book) O(lgn) O(lgn) O(lglgn) Let f be the number of Find-Sets excluding recursion. Let l,...,l f be the number of links compressed by calls to Find-Set. Want to bound f i= l i. Why? If a call to Find-Set compresses l links, then l nodes are closer to the root. Proof: A subtree of rank l now points to the root. This subtree has l nodes. CS 56 Analysis of Algorithms Chapter : Slide
14 O(lg lg n) Analysis Continued (not in book) O(lgn) O(lgn) O(lglgn) Let l be the average of l,...,l f. The number of recursive calls is fl. It can be shown that f i= l i f l. For, note that l + l+ > l + l There is nlgn distance to compress because each node is lgn away from the root. nlgn distance to compress implies f l nlgn. CS 56 Analysis of Algorithms Chapter : Slide 4
15 O(lglgn) Analysis Finished (not in book) O(lgn) O(lgn) O(lglgn) analysis Case : f n/(lgn) f n/(lgn) and l lgn imply fl n. Case : f n/(lgn) Start with f l nlgn. Implies (lgf)+l (lgn)+(lglgn) Implies l (lgn)+(lglgn) (lgf) (lgn)+(lglgn) lg(n/lgn) = (lgn)+(lglgn) (lgn)+(lglgn) = lglgn. so l is O(lglgn), which implies that the total cost of f Find-Sets is O(n+f lglgn). CS 56 Analysis of Algorithms Chapter : Slide 5
COP 4531 Complexity & Analysis of Data Structures & Algorithms
COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 8 Data Structures for Disjoint Sets Thanks to the text authors who contributed to these slides Data Structures for Disjoint Sets Also
More informationDisjoint Sets 3/22/2010
Disjoint Sets A disjoint-set is a collection C={S 1, S 2,, S k } of distinct dynamic sets. Each set is identified by a member of the set, called representative. Disjoint set operations: MAKE-SET(x): create
More informationDisjoint-set data structure: Union-Find. Lecture 20
Disjoint-set data structure: Union-Find Lecture 20 Disjoint-set data structure (Union-Find) Problem: Maintain a dynamic collection of pairwise-disjoint sets S = {S 1, S 2,, S r }. Each set S i has one
More informationAlgorithms and Data Structures: Minimum Spanning Trees (Kruskal) ADS: lecture 16 slide 1
Algorithms and Data Structures: Minimum Spanning Trees (Kruskal) ADS: lecture 16 slide 1 Minimum Spanning Tree Problem Given: Undirected connected weighted graph (G, W ) Output: An MST of G We have already
More informationRound 3: Trees. Tommi Junttila. Aalto University School of Science Department of Computer Science. CS-A1140 Data Structures and Algorithms Autumn 2017
Round 3: Trees Tommi Junttila Aalto University School of Science Department of Computer Science CS-A1140 Data Structures and Algorithms Autumn 2017 Tommi Junttila (Aalto University) Round 3 CS-A1140 /
More information2pt 0em. Computer Science & Engineering 423/823 Design and Analysis of Algorithms. Lecture 04 Minimum-Weight Spanning Trees (Chapter 23)
2pt 0em Computer Science & Engineering 423/823 Design and of s Lecture 04 Minimum-Weight Spanning Trees (Chapter 23) Stephen Scott (Adapted from Vinodchandran N. Variyam) 1 / 18 Given a connected, undirected
More informationMaintaining Disjoint Sets
Maintaining Disjoint Sets Ref: Chapter 21 of text. (Proofs in Section 21.4 omitted.) Given: A collection S 1, S 2,..., S k of pairwise disjoint sets. Each set has a name, its representative, which is an
More informationData Structures for Disjoint Sets
Data Structures for Disjoint Sets Manolis Koubarakis 1 Dynamic Sets Sets are fundamental for mathematics but also for computer science. In computer science, we usually study dynamic sets i.e., sets that
More informationContext: Weighted, connected, undirected graph, G = (V, E), with w : E R.
Chapter 23: Minimal Spanning Trees. Context: Weighted, connected, undirected graph, G = (V, E), with w : E R. Definition: A selection of edges from T E such that (V, T ) is a tree is called a spanning
More informationRepresentations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs
Representations of Weighted Graphs (as Matrices) A B Algorithms and Data Structures: Minimum Spanning Trees 9.0 F 1.0 6.0 5.0 6.0 G 5.0 I H 3.0 1.0 C 5.0 E 1.0 D 28th Oct, 1st & 4th Nov, 2011 ADS: lects
More informationCOP 4531 Complexity & Analysis of Data Structures & Algorithms
COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 9 Minimum Spanning Trees Thanks to the text authors who contributed to these slides Why Minimum Spanning Trees (MST)? Example 1 A
More informationComputer Science & Engineering 423/823 Design and Analysis of Algorithms
Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 05 Minimum-Weight Spanning Trees (Chapter 23) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu Introduction
More informationOutline. Disjoint set data structure Applications Implementation
Disjoint Data Sets Outline Disjoint set data structure Applications Implementation Data Structures for Disjoint Sets A disjoint-set data structure is a collection of sets S = {S 1 S k }, such that S i
More informationCSC 505, Fall 2000: Week 7. In which our discussion of Minimum Spanning Tree Algorithms and their data Structures is brought to a happy Conclusion.
CSC 505, Fall 2000: Week 7 In which our discussion of Minimum Spanning Tree Algorithms and their data Structures is brought to a happy Conclusion. Page 1 of 18 Prim s algorithm without data structures
More informationAmortized Analysis. The time required to perform a sequence of (data structure) operations is averaged over all the operations performed.
Amortized Analysis The time required to perform a sequence of (data structure) operations is averaged over all the operations performed. No probabilistic assumptions - not an average case analysis! 1 Example:
More informationUnion-Find and Amortization
Design and Analysis of Algorithms February 20, 2015 Massachusetts Institute of Technology 6.046J/18.410J Profs. Erik Demaine, Srini Devadas and Nancy Lynch Recitation 3 Union-Find and Amortization 1 Introduction
More informationChapter 23. Minimum Spanning Trees
Chapter 23. Minimum Spanning Trees We are given a connected, weighted, undirected graph G = (V,E;w), where each edge (u,v) E has a non-negative weight (often called length) w(u,v). The Minimum Spanning
More informationLecture Notes for Chapter 23: Minimum Spanning Trees
Lecture Notes for Chapter 23: Minimum Spanning Trees Chapter 23 overview Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has
More informationMinimum Spanning Trees
Minimum Spanning Trees Overview Problem A town has a set of houses and a set of roads. A road connects and only houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and
More informationCSE Table Doubling 11.1
Table Doubling 11.1 Dynamic Arrays Allocate an array of size 10. What if you try to insert 11 elements in the array? Need to reallocate the array. Reallocate to size 11. Insert element. Reallocate to size
More informationMinimum spanning trees
Minimum spanning trees [We re following the book very closely.] One of the most famous greedy algorithms (actually rather family of greedy algorithms). Given undirected graph G = (V, E), connected Weight
More information1 Start with each vertex being its own component. 2 Merge two components into one by choosing the light edge
Taking Stock IE170: in Systems Engineering: Lecture 19 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University March 16, 2007 Last Time Minimum This Time More Strongly Connected
More informationContest programming. Linear data structures. Maksym Planeta
Contest programming Linear data structures Maksym Planeta 20.04.2018 1/2 Table of Contents Organisation Linear Data Structures Long arithmetic Practice 2/2 Update on organisation 11 weeks 9 exercises:
More informationCSC263 Week 11. Larry Zhang.
CSC263 Week 11 Larry Zhang http://goo.gl/forms/s9yie3597b Announcements A2 due next Tuesday Course evaluation: http://uoft.me/course-evals ADT: Disjoint Sets What does it store? What operations are supported?
More informationKruskal s MST Algorithm
Kruskal s MST Algorithm CLRS Chapter 23, DPV Chapter 5 Version of November 5, 2014 Main Topics of This Lecture Kruskal s algorithm Another, but different, greedy MST algorithm Introduction to UNION-FIND
More informationGreedy Algorithms. At each step in the algorithm, one of several choices can be made.
Greedy Algorithms At each step in the algorithm, one of several choices can be made. Greedy Strategy: make the choice that is the best at the moment. After making a choice, we are left with one subproblem
More informationHomework remarking requests
Homework remarking requests BEFORE submitting a remarking request: a) read and understandour solution set(which is posted on the course web site) b) read the marking guide of the homework (also posted
More informationProblem Set 8 Solutions
Design and Analysis of Algorithms May 2, 2012 Massachusetts Institute of Technology 6.046J/18.410J Profs. Dana Moshkovitz and Bruce Tidor Handout 21 Problem Set 8 Solutions This problem set is due at 9:00pm
More informationCpt S 223 Course Overview. Cpt S 223, Fall 2007 Copyright: Washington State University
Cpt S 223 Course Overview 1 Course Goals Learn about new/advanced data structures Be able to make design choices on the suitable data structure for different application/problem needs Analyze (objectively)
More informationUnion-find algorithms. (1) How do you determine whether a vertex x is connected to a vertex y in a graph?
Union-find algorithms Consider the following problems: (1) How do you determine whether a vertex x is connected to a vertex y in a graph? (2) Let vertices correspond to objects and edges mean "is in the
More informationMinimum Spanning Trees
CSMPS 2200 Fall Minimum Spanning Trees Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 11/6/ CMPS 2200 Intro. to Algorithms 1 Minimum spanning trees Input: A
More informationDisjoint Sets. Maintaining Disjoint Sets Complexity Analysis
Disjoint Sets Maintaining Disjoint Sets Complexity Analysis Disjoint Sets - Definition Set representatives called canonical elements. Elements are integers beween 1 and n. Each element can be accessed
More informationSolutions to Exam Data structures (X and NV)
Solutions to Exam Data structures X and NV 2005102. 1. a Insert the keys 9, 6, 2,, 97, 1 into a binary search tree BST. Draw the final tree. See Figure 1. b Add NIL nodes to the tree of 1a and color it
More informationCOS 528 Disjoint Sets and Compressed Trees. Robert E. Tarjan 2013
COS 528 Disjoint Sets and Compressed Trees Robert E. Tarjan 2013 Disjoint set union Devise a data structure for an intermixed sequence of the following kinds of operaions: make- set(x) (x in no set): create
More informationMinimum Spanning Trees My T. UF
Introduction to Algorithms Minimum Spanning Trees @ UF Problem Find a low cost network connecting a set of locations Any pair of locations are connected There is no cycle Some applications: Communication
More informationAlgorithms (IX) Yijia Chen Shanghai Jiaotong University
Algorithms (IX) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Shortest paths in the presence of negative edges Negative edges Dijkstra s algorithm works in part because the shortest
More informationUnion/Find Aka: Disjoint-set forest. Problem definition. Naïve attempts CS 445
CS 5 Union/Find Aka: Disjoint-set forest Alon Efrat Problem definition Given: A set of atoms S={1, n E.g. each represents a commercial name of a drugs. This set consists of different disjoint subsets.
More informationN objects numbered 0, 1,, N 1, grouped into disjoint sets One member of a set chosen to be the label
CS 0 Theory of Algorithms Supplement Disjoint Set Structures Disjoint Set Structures N objects numbered 0, 1,, N 1, grouped into disjoint sets One member of a set chosen to be the label of the set Example:
More informationCS 310 Advanced Data Structures and Algorithms
CS 0 Advanced Data Structures and Algorithms Weighted Graphs July 0, 07 Tong Wang UMass Boston CS 0 July 0, 07 / Weighted Graphs Each edge has a weight (cost) Edge-weighted graphs Mostly we consider only
More informationLecture 6: Analysis of Algorithms (CS )
Lecture 6: Analysis of Algorithms (CS583-002) Amarda Shehu October 08, 2014 1 Outline of Today s Class 2 Traversals Querying Insertion and Deletion Sorting with BSTs 3 Red-black Trees Height of a Red-black
More informationBuilding a network. Properties of the optimal solutions. Trees. A greedy approach. Lemma (1) Lemma (2) Lemma (3) Lemma (4)
Chapter 5. Greedy algorithms Minimum spanning trees Building a network Properties of the optimal solutions Suppose you are asked to network a collection of computers by linking selected pairs of them.
More informationChapter 5. Greedy algorithms
Chapter 5. Greedy algorithms Minimum spanning trees Building a network Suppose you are asked to network a collection of computers by linking selected pairs of them. This translates into a graph problem
More informationDynamic Data Structures. John Ross Wallrabenstein
Dynamic Data Structures John Ross Wallrabenstein Recursion Review In the previous lecture, I asked you to find a recursive definition for the following problem: Given: A base10 number X Assume X has N
More informationECE250: Algorithms and Data Structures Binary Search Trees (Part A)
ECE250: Algorithms and Data Structures Binary Search Trees (Part A) Ladan Tahvildari, PEng, SMIEEE Associate Professor Software Technologies Applied Research (STAR) Group Dept. of Elect. & Comp. Eng. University
More informationTrees. Arash Rafiey. 20 October, 2015
20 October, 2015 Definition Let G = (V, E) be a loop-free undirected graph. G is called a tree if G is connected and contains no cycle. Definition Let G = (V, E) be a loop-free undirected graph. G is called
More informationCMSC 341 Lecture 20 Disjointed Sets
CMSC 341 Lecture 20 Disjointed Sets Prof. John Park Based on slides from previous iterations of this course Introduction to Disjointed Sets Disjoint Sets A data structure that keeps track of a set of elements
More informationCS S-08 Priority Queues Heaps 1
CS245-2015S-08 Priority Queues Heaps 1 08-0: Priority Queue ADT Keys are priorities, with smaller keys having a better priority 08-1: Priority Queue ADT Sorted Array Add Element Remove Smallest Key 08-2:
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Disjoin Sets and Union-Find Structures CLRS 21.121.4 University of Manitoba 1 / 32 Disjoint Sets Disjoint set is an abstract data type
More informationMinimum Spanning Trees Ch 23 Traversing graphs
Next: Graph Algorithms Graphs Ch 22 Graph representations adjacency list adjacency matrix Minimum Spanning Trees Ch 23 Traversing graphs Breadth-First Search Depth-First Search 11/30/17 CSE 3101 1 Graphs
More informationComplexity of Prim s Algorithm
The main loop is: Complexity of Prim s Algorithm while ( not ISEMPTY(Q) ): u = EXTRACT-MIN(Q) if p[u]!= NIL: A = A U {(p[u],u)} for v in adjacency-list[u]: if v in Q and w(u,v) < priority[v] : DECREASE-PRIORITY(v,
More informationCS S-14 Disjoint Sets 1
CS245-2015S-14 Disjoint Sets 1 14-0: Disjoint Sets Maintain a collection of sets Operations: Determine which set an element is in Union (merge) two sets Initially, each element is in its own set # of sets
More informationLecture: Analysis of Algorithms (CS )
Lecture: Analysis of Algorithms (CS583-002) Amarda Shehu Fall 2017 1 Binary Search Trees Traversals, Querying, Insertion, and Deletion Sorting with BSTs 2 Example: Red-black Trees Height of a Red-black
More informationCMSC 341 Lecture 20 Disjointed Sets
CMSC 341 Lecture 20 Disjointed Sets Prof. John Park Based on slides from previous iterations of this course Introduction to Disjointed Sets Disjoint Sets A data structure that keeps track of a set of elements
More informationCS 380 ALGORITHM DESIGN AND ANALYSIS
CS 380 ALGORITHM DESIGN AND ANALYSIS Lecture 12: Red-Black Trees Text Reference: Chapters 12, 13 Binary Search Trees (BST): Review Each node in tree T is a object x Contains attributes: Data Pointers to
More informationTrees, Glorious Trees. From one new year to another new year, and from one new academic year to another new academic year ראש השנה לאילנות
Trees, Glorious Trees From one new year to another new year, and from one new academic year to another new academic year ראש השנה לאילנות There all kinds of trees: Apple trees Palm trees Bonsai trees and
More informationGreedy Algorithms Part Three
Greedy Algorithms Part Three Announcements Problem Set Four due right now. Due on Wednesday with a late day. Problem Set Five out, due Monday, August 5. Explore greedy algorithms, exchange arguments, greedy
More informationSearch Trees. Undirected graph Directed graph Tree Binary search tree
Search Trees Undirected graph Directed graph Tree Binary search tree 1 Binary Search Tree Binary search key property: Let x be a node in a binary search tree. If y is a node in the left subtree of x, then
More informationCS 161: Design and Analysis of Algorithms
CS 161: Design and Analysis of Algorithms Greedy Algorithms 2: Minimum Spanning Trees Definition The cut property Prim s Algorithm Kruskal s Algorithm Disjoint Sets Tree A tree is a connected graph with
More informationCMSC 341 Lecture 20 Disjointed Sets
CMSC 341 Lecture 20 Disjointed Sets Prof. John Park Based on slides from previous iterations of this course Introduction to Disjointed Sets Disjoint Sets A data structure that keeps track of a set of elements
More informationCS 758/858: Algorithms
CS 758/858: Algorithms http://www.cs.unh.edu/~ruml/cs758 1 handout: slides Wheeler Ruml (UNH) Class 7, CS 758 1 / 16 BST Deletion Single Child Immed. Succ. Deep Succ. Break Wheeler Ruml (UNH) Class 7,
More informationDisjoint Sets. Based on slides from previous iterations of this course.
Disjoint Sets Based on slides from previous iterations of this course Today s Topics Exam Discussion Introduction to Disjointed Sets Disjointed Set Example Operations of a Disjointed Set Types of Disjointed
More informationCS F-14 Disjoint Sets 1
CS673-2016F-14 Disjoint Sets 1 14-0: Disjoint Sets Maintain a collection of sets Operations: Determine which set an element is in Union (merge) two sets Initially, each element is in its own set # of sets
More informationParallel Breadth First Search
CSE341T/CSE549T 11/03/2014 Lecture 18 Parallel Breadth First Search Today, we will look at a basic graph algorithm, breadth first search (BFS). BFS can be applied to solve a variety of problems including:
More informationCpt S 223 Fall Cpt S 223. School of EECS, WSU
Course Review Cpt S 223 Fall 2012 1 Final Exam When: Monday (December 10) 8 10 AM Where: in class (Sloan 150) Closed book, closed notes Comprehensive Material for preparation: Lecture slides & class notes
More informationCourse Review. Cpt S 223 Fall 2010
Course Review Cpt S 223 Fall 2010 1 Final Exam When: Thursday (12/16) 8-10am Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides & class notes Homeworks & program
More informationCOS 423 Lecture 12. Robert E. Tarjan 2011
COS 423 Lecture 12 Disjoint Sets and Compressed Trees Robert E. Tarjan 2011 Three problems Maintenance of disjoint sets under union Finding nearest common ancestors in a rooted tree Finding maxima on tree
More informationWe ve done. Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Fractional Knapsack Huffman coding
We ve done Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Fractional Knapsack Huffman coding Matroid Theory Now Matroids and weighted matroids Generic
More informationDisjoint set (Union-Find)
CS124 Lecture 6 Spring 2011 Disjoint set (Union-Find) For Kruskal s algorithm for the minimum spanning tree problem, we found that we needed a data structure for maintaining a collection of disjoint sets.
More informationSorted Arrays. Operation Access Search Selection Predecessor Successor Output (print) Insert Delete Extract-Min
Binary Search Trees FRIDAY ALGORITHMS Sorted Arrays Operation Access Search Selection Predecessor Successor Output (print) Insert Delete Extract-Min 6 10 11 17 2 0 6 Running Time O(1) O(lg n) O(1) O(1)
More informationAdvanced Set Representation Methods
Advanced Set Representation Methods AVL trees. 2-3(-4) Trees. Union-Find Set ADT DSA - lecture 4 - T.U.Cluj-Napoca - M. Joldos 1 Advanced Set Representation. AVL Trees Problem with BSTs: worst case operation
More informationGraph Algorithms Using Depth First Search
Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth
More informationJana Kosecka. Red-Black Trees Graph Algorithms. Many slides here are based on E. Demaine, D. Luebke slides
Jana Kosecka Red-Black Trees Graph Algorithms Many slides here are based on E. Demaine, D. Luebke slides Binary Search Trees (BSTs) are an important data structure for dynamic sets In addition to satellite
More informationCS 561, Lecture 9. Jared Saia University of New Mexico
CS 561, Lecture 9 Jared Saia University of New Mexico Today s Outline Minimum Spanning Trees Safe Edge Theorem Kruskal and Prim s algorithms Graph Representation 1 Graph Definition A graph is a pair of
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2015S-08 Priority Queues Heaps David Galles Department of Computer Science University of San Francisco 08-0: Priority Queue ADT Operations Add an element / key pair
More informationDisjoint Sets. (Disjoint Sets) Data Structures and Programming Spring / 50
Disjoint Sets (Disjoint Sets) Data Structures and Programming Spring 2017 1 / 50 Making a Good Maze What s a Good Maze? Connected Just one path between any two rooms Random The Maze Construction Problem
More informationCSE2331/5331. Topic 6: Binary Search Tree. Data structure Operations CSE 2331/5331
CSE2331/5331 Topic 6: Binary Search Tree Data structure Operations Set Operations Maximum Extract-Max Insert Increase-key We can use priority queue (implemented by heap) Search Delete Successor Predecessor
More informationCSE373: Data Structures & Algorithms Lecture 11: Implementing Union-Find. Lauren Milne Spring 2015
CSE: Data Structures & Algorithms Lecture : Implementing Union-Find Lauren Milne Spring 05 Announcements Homework due in ONE week Wednesday April 9 th! TA sessions Catie will be back on Monday. The plan
More informationDisjoint Sets ADT 1. A disjoint sets data structure keeps track of multiple sets which do not share any elements. Here s the ADT: UnionFind ADT
Disjoint Sets ADT 1 A disjoint sets data structure keeps track of multiple sets which do not share any elements. Here s the ADT: UnionFind ADT find(x) union(x, y) Returns a number representing the set
More informationChapter 10: Trees. A tree is a connected simple undirected graph with no simple circuits.
Chapter 10: Trees A tree is a connected simple undirected graph with no simple circuits. Properties: o There is a unique simple path between any 2 of its vertices. o No loops. o No multiple edges. Example
More informationCISC 621 Algorithms, Midterm exam March 24, 2016
CISC 621 Algorithms, Midterm exam March 24, 2016 Name: Multiple choice and short answer questions count 4 points each. 1. The algorithm we studied for median that achieves worst case linear time performance
More informationDisjoint Sets. Andreas Klappenecker [using notes by R. Sekar]
Disjoint Sets Andreas Klappenecker [using notes by R. Sekar] Equivalence Classes Frequently, we declare an equivalence relation on a set S. So the elements of the set S are partitioned into equivalence
More informationHamilton paths & circuits. Gray codes. Hamilton Circuits. Planar Graphs. Hamilton circuits. 10 Nov 2015
Hamilton paths & circuits Def. A path in a multigraph is a Hamilton path if it visits each vertex exactly once. Def. A circuit that is a Hamilton path is called a Hamilton circuit. Hamilton circuits Constructing
More informationCourse Review for Finals. Cpt S 223 Fall 2008
Course Review for Finals Cpt S 223 Fall 2008 1 Course Overview Introduction to advanced data structures Algorithmic asymptotic analysis Programming data structures Program design based on performance i.e.,
More informationTheory of Computing. Lecture 10 MAS 714 Hartmut Klauck
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Data structures: Union-Find We need to store a set of disjoint sets with the following operations: Make-Set(v): generate a set {v}. Name of the set
More informationCS 171: Introduction to Computer Science II. Binary Search Trees
CS 171: Introduction to Computer Science II Binary Search Trees Binary Search Trees Symbol table applications BST definitions and terminologies Search and insert Traversal Ordered operations Delete Symbol
More informationCourse Review. Cpt S 223 Fall 2009
Course Review Cpt S 223 Fall 2009 1 Final Exam When: Tuesday (12/15) 8-10am Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides & class notes Homeworks & program
More informationExercises: Disjoint Sets/ Union-find [updated Feb. 3]
Exercises: Disjoint Sets/ Union-find [updated Feb. 3] Questions 1) Suppose you have an implementation of union that is by-size and an implementation of find that does not use path compression. Give the
More informationMinimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem
Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are
More informationMinimum Spanning Trees
Minimum Spanning Trees Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and no
More informationCS 561, Lecture Topic: Amortized Analysis. Jared Saia University of New Mexico
CS 561, Lecture Topic: Amortized Analysis Jared Saia University of New Mexico Outline Amortized Analysis Aggregate, Taxation and Potential Methods Dynamic Table Union Find Data Structure 1 Amortized Analysis
More informationCS 561, Lecture Topic: Amortized Analysis. Jared Saia University of New Mexico
CS 561, Lecture Topic: Amortized Analysis Jared Saia University of New Mexico Outline Amortized Analysis Aggregate, Taxation and Potential Methods Dynamic Table Union Find Data Structure 1 Amortized Analysis
More informationThe Heap Data Structure
The Heap Data Structure Def: A heap is a nearly complete binary tree with the following two properties: Structural property: all levels are full, except possibly the last one, which is filled from left
More informationUnion-Find: A Data Structure for Disjoint Set Operations
Union-Find: A Data Structure for Disjoint Set Operations 1 The Union-Find Data Structure Purpose: Great for disjoint sets Operations: Union ( S 1, S 2 ) Find ( x ) Performs a union of two disjoint sets
More informationlooking ahead to see the optimum
! Make choice based on immediate rewards rather than looking ahead to see the optimum! In many cases this is effective as the look ahead variation can require exponential time as the number of possible
More information2 A Template for Minimum Spanning Tree Algorithms
CS, Lecture 5 Minimum Spanning Trees Scribe: Logan Short (05), William Chen (0), Mary Wootters (0) Date: May, 0 Introduction Today we will continue our discussion of greedy algorithms, specifically in
More informationTrees Algorhyme by Radia Perlman
Algorhyme by Radia Perlman I think that I shall never see A graph more lovely than a tree. A tree whose crucial property Is loop-free connectivity. A tree which must be sure to span. So packets can reach
More informationCOMP251: Disjoint sets
COMP251: Disjoint sets Jérôme Waldispühl School of Computer Science McGill University Based on slides from M. Langer (McGill) Announces Assignment 1 is due on Wednesday February 1 st. Submit your soluoon
More information1 Minimum Cut Problem
CS 6 Lecture 6 Min Cut and Karger s Algorithm Scribes: Peng Hui How, Virginia Williams (05) Date: November 7, 07 Anthony Kim (06), Mary Wootters (07) Adapted from Virginia Williams lecture notes Minimum
More informationMinimum Spanning Trees
Minimum Spanning Trees 1 Minimum- Spanning Trees 1. Concrete example: computer connection. Definition of a Minimum- Spanning Tree Concrete example Imagine: You wish to connect all the computers in an office
More informationConcurrent Disjoint Set Union. Robert E. Tarjan Princeton University & Intertrust Technologies joint work with Siddhartha JayanB, Princeton
Concurrent Disjoint Set Union Robert E. Tarjan Princeton University & Intertrust Technologies joint work with Siddhartha JayanB, Princeton Key messages Ideas and results from sequenbal algorithms can carry
More information