When.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. Disjoint sets - Wikipedia

    en.wikipedia.org/wiki/Disjoint_sets

    Disjoint-set data structures [9] and partition refinement [10] are two techniques in computer science for efficiently maintaining partitions of a set subject to, respectively, union operations that merge two sets or refinement operations that split one set into two. A disjoint union may mean one of two things.

  7. Connectivity (graph theory) - Wikipedia

    en.wikipedia.org/wiki/Connectivity_(graph_theory)

    More generally, it is easy to determine computationally whether a graph is connected (for example, by using a disjoint-set data structure), or to count the number of connected components. A simple algorithm might be written in pseudo-code as follows: Begin at any arbitrary node of the graph G.

  8. Partition refinement - Wikipedia

    en.wikipedia.org/wiki/Partition_refinement

    In that sense it is dual to the union-find data structure, which also maintains a partition into disjoint sets but in which the operations merge pairs of sets. In some applications of partition refinement, such as lexicographic breadth-first search, the data structure maintains as well an ordering on the sets in the partition.

  9. Component (graph theory) - Wikipedia

    en.wikipedia.org/wiki/Component_(graph_theory)

    There are also efficient algorithms to dynamically track the components of a graph as vertices and edges are added, by using a disjoint-set data structure to keep track of the partition of the vertices into equivalence classes, replacing any two classes by their union when an edge connecting them is added.