enow.com Web Search

Search results

  1. Results from the WOW.Com Content Network
  2. Disjoint-set data structure - Wikipedia

    en.wikipedia.org/wiki/Disjoint-set_data_structure

    As a result, disjoint-set forests are both asymptotically optimal and practically efficient. Disjoint-set data structures play a key role in Kruskal's algorithm for finding the minimum spanning tree of a graph. The importance of minimum spanning trees means that disjoint-set data structures support a wide variety of algorithms.

  3. Tarjan's off-line lowest common ancestors algorithm - Wikipedia

    en.wikipedia.org/wiki/Tarjan's_off-line_lowest...

    The pseudocode below determines the lowest common ancestor of each pair in P, given the root r of a tree in which the children of node n are in the set n.children. For this offline algorithm, the set P must be specified in advance. It uses the MakeSet, Find, and Union functions of a disjoint-set data structure.

  4. Kruskal's algorithm - Wikipedia

    en.wikipedia.org/wiki/Kruskal's_algorithm

    Once sorted, it is possible to loop through the edges in sorted order in constant time per edge. Next, use a disjoint-set data structure, with a set of vertices for each component, to keep track of which vertices are in which components. Creating this structure, with a separate set for each vertex, takes V operations and O(V) time. The final ...

  5. Parent pointer tree - Wikipedia

    en.wikipedia.org/wiki/Parent_pointer_tree

    When used to implement a set of stacks, the structure is called a spaghetti stack, cactus stack or saguaro stack (after the saguaro, a kind of cactus). [1] Parent pointer trees are also used as disjoint-set data structures. The structure can be regarded as a set of singly linked lists that share part of their structure, in particular, their ...

  6. Steiner tree problem - Wikipedia

    en.wikipedia.org/wiki/Steiner_tree_problem

    This process is repeated until only one tree remains. By using a Heap (data structure) to implement the priority queue and a disjoint-set data structure to track to which tree each visited vertex belongs, this algorithm achieves O(|E| log |V|) running time, although it does not improve on the 2 − 2/t cost ratio from Kou et al.

  7. Disjoint sets - Wikipedia

    en.wikipedia.org/wiki/Disjoint_sets

    Two disjoint sets. In set theory in mathematics and formal logic, two sets are said to be disjoint sets if they have no element in common. Equivalently, two disjoint sets are sets whose intersection is the empty set. [1] For example, {1, 2, 3} and {4, 5, 6} are disjoint sets, while {1, 2, 3} and {3, 4, 5} are not disjoint. A collection of two ...

  8. Maze generation algorithm - Wikipedia

    en.wikipedia.org/wiki/Maze_generation_algorithm

    An efficient implementation using a disjoint-set data structure can perform each union and find operation on two sets in nearly constant amortized time (specifically, (()) time; () < for any plausible value of ), so the running time of this algorithm is essentially proportional to the number of walls available to the maze.

  9. Connected-component labeling - Wikipedia

    en.wikipedia.org/wiki/Connected-component_labeling

    Union-find essentially stores labels which correspond to the same blob in a disjoint-set data structure, making it easy to remember the equivalence of two labels by the use of an interface method E.g.: findSet(l). findSet(l) returns the minimum label value that is equivalent to the function argument 'l'.