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

    The following code is implemented with a disjoint-set data structure. It represents the forest F as a set of undirected edges, and uses the disjoint-set data structure to efficiently determine whether two vertices are part of the same tree.

  5. Tagged union - Wikipedia

    en.wikipedia.org/wiki/Tagged_union

    Many programming techniques and data structures, including rope, lazy evaluation, class hierarchy (see below), arbitrary-precision arithmetic, CDR coding, the indirection bit, and other kinds of tagged pointers, are usually implemented using some sort of tagged union. A tagged union can be seen as the simplest kind of self-describing data format.

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

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

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

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