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

    Disjoint-set data structures model the partitioning of a set, for example to keep track of the connected components of an undirected graph. This model can then be used to determine whether two vertices belong to the same component, or whether adding an edge between them would result in a cycle.

  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. 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.

  6. 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.

  7. 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.

  8. 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 ...

  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.