Search algorithms | Amortized data structures

Disjoint-set data structure

In computer science, a disjoint-set data structure, also called a union–find data structure or merge–find set, is a data structure that stores a collection of disjoint (non-overlapping) sets. Equivalently, it stores a partition of a set into disjoint subsets. It provides operations for adding new sets, merging sets (replacing them by their union), and finding a representative member of a set. The last operation makes it possible to find out efficiently if any two elements are in the same or different sets. While there are several ways of implementing disjoint-set data structures, in practice they are often identified with a particular implementation called a disjoint-set forest. This is a specialized type of forest which performs unions and finds in near-constant amortized time. To perform a sequence of m addition, union, or find operations on a disjoint-set forest with n nodes requires total time O(mα(n)), where α(n) is the extremely slow-growing inverse Ackermann function. Disjoint-set forests do not guarantee this performance on a per-operation basis. Individual union and find operations can take longer than a constant times α(n) time, but each operation causes the disjoint-set forest to adjust itself so that successive operations are faster. 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 underlie a wide variety of algorithms. In addition, disjoint-set data structures also have applications to symbolic computation, as well in compilers, especially for register allocation problems. (Wikipedia).

Disjoint-set data structure
Video thumbnail

Data Structures: List as abstract data type

See complete series of videos in data structures here: http://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&feature=view_all In this lesson, we will introduce a dynamic list structure as an abstract data type and then see one possible implementation of dynamic list using

From playlist Data structures

Video thumbnail

What are Disjoint Sets? | Set Theory

What are disjoint sets? That is the topic of discussion in today's lesson! Two sets, A and B, are disjoint if and only if A intersect B is equal to the empty set. This means that two sets are disjoint if and only if they have no elements in common. This is the same as the two sets being "m

From playlist Set Theory

Video thumbnail

Data structures: Introduction to Doubly Linked List

See complete series on data structures here: http://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P In this lesson, we have described doubly linked list data structure. For practice problems and more, visit: http://www.mycodeschool.com Like us on Facebook: https://www

From playlist Data structures

Video thumbnail

Stack Data Structure - Algorithm

This is an explanation of the dynamic data structure known as a stack. It includes an explanation of how a stack works, along with pseudocode for implementing the push and pop operations with a static array variable.

From playlist Data Structures

Video thumbnail

Data structures: Introduction to graphs

See complete series on data structures here: http://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P In this lesson, we have described Graph data structure as a mathematical model. We have briefly described the concept of Graph and some of its applications. For practice

From playlist Data structures

Video thumbnail

Data structures: Introduction to Trees

See complete series on data structures here: http://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P In this lesson, we have described tree data structure as a logical model in computer science. We have briefly discussed tree as a non-linear hierarchical data structure, i

From playlist Data structures

Video thumbnail

Sets and other data structures | Data Structures in Mathematics Math Foundations 151

In mathematics we often want to organize objects. Sets are not the only way of doing this: there are other data types that are also useful and that can be considered together with set theory. In particular when we group objects together, there are two fundamental questions that naturally a

From playlist Math Foundations

Video thumbnail

Data Structures (2 of 2)

Introductory coverage of fundamental data structures. Part of a larger series teaching programming. Visit http://codeschool.org

From playlist Data Structures

Video thumbnail

Kruskals Algorithm | Kruskals Algorithm For Minimum Spanning Trees | Data Structures | Simplilearn

Don't forget to participate in challenging activity at --:-- This video on Kruskal Algorithm will acquaint you with the theoretical explanation and complete drive-through example for constructing a minimum spanning tree for given graph. This data structure tutorial will acquaint you with c

From playlist Data Structures & Algorithms

Video thumbnail

Nexus trimester - Anup Rao (University of Washington) 3/3

exponential separation of information and communication, and how to prove lower bounds on disjointness, and the non-negative rank of matrices Anup Rao (University of Washington) February 10, 2016 Abstract: We discuss how to prove lower bounds on the randomized communication complexity of

From playlist Nexus Trimester - 2016 - Distributed Computation and Communication Theme

Video thumbnail

Arkadev Chattopadhyay - Arkadev Chattopadhyay

Arkadev Chattopadhyay University of Toronto October 10, 2011 Proving superpolylogarithmic lower bounds for dynamic data structures has remained an open problem despite years of research. Recently, Patrascu proposed an exciting new approach for breaking this barrier via a two player communi

From playlist Mathematics

Video thumbnail

Shadows of Computation - Lecture 7 - Because it's there

Welcome to Shadows of Computation, an online course taught by Will Troiani and Billy Snikkers, covering the foundations of category theory and how it is used by computer scientists to abstract computing systems to reveal their intrinsic mathematical properties. In the seventh lecture Will

From playlist Shadows of Computation

Video thumbnail

Geometry and arithmetic of sphere packings - Alex Kontorovich

Members' Seminar Topic: Geometry and arithmetic of sphere packings Speaker: A nearly optimal lower bound on the approximate degree of AC00 Speaker:Alex Kontorovich Affiliation: Rutgers University Date: October 23, 2017 For more videos, please visit http://video.ias.edu

From playlist Mathematics

Video thumbnail

Jørgen E Andersen - Geometric Recursion with a View Towards Resurgence

We shall review the geometric recursion and its relation to topological recursion. In particular, we shall consider the target theory of continuous functions on Teichmüller spaces and we shall exhibit a number of classes of mapping class group invariant f

From playlist Resurgence in Mathematics and Physics

Video thumbnail

Ivan Mirkovic: Loop Grassmanians and local spaces

Find this video and other talks given by worldwide mathematicians on CIRM's Audiovisual Mathematics Library: http://library.cirm-math.fr. And discover all its functionalities: - Chapter markers and keywords to watch the parts of your choice in the video - Videos enriched with abstracts, b

From playlist Algebraic and Complex Geometry

Video thumbnail

Recursively Defined Sets - An Intro

Recursively defined sets are an important concept in mathematics, computer science, and other fields because they provide a framework for defining complex objects or structures in a simple, iterative way. By starting with a few basic objects and applying a set of rules repeatedly, we can g

From playlist All Things Recursive - with Math and CS Perspective

Video thumbnail

Mike Hill - Real and Hyperreal Equivariant and Motivic Computations

Foundational work of Hu—Kriz and Dugger showed that for Real spectra, we can often compute as easily as non-equivariantly. The general equivariant slice filtration was developed to show how this philosophy extends from 𝐶2-equivariant homotopy to larger cyclic 2-groups, and this has some fa

From playlist Summer School 2020: Motivic, Equivariant and Non-commutative Homotopy Theory

Video thumbnail

Non-amenable groups admitting no sofic approximation by expander graphs - Gabor Kun

Stability and Testability Topic: Non-amenable groups admitting no sofic approximation by expander graphs Speaker: Gabor Kun Affiliation: Alfréd Rényi Institute of Mathematics Date: February 10, 2021 For more video please visit http://video.ias.edu

From playlist Stability and Testability

Video thumbnail

Sylvie Paycha: A Galois group on meromorphic germs and locality evaluators

Talk by Sylvie Paycha in Global Noncommutative Geometry Seminar (Europe) http://www.noncommutativegeometry.nl/ncgseminar/ on February 9, 2021

From playlist Global Noncommutative Geometry Seminar (Europe)

Video thumbnail

Data structures: Introduction to stack

See complete series on data structures here: http://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P In this lesson, we have described stack data structure as abstract data type. Lesson on Dynamic memory allocation: http://www.youtube.com/watch?v=_8-ht2AKyH4 For practic

From playlist Data structures

Related pages

Parent pointer tree | Ackermann function | Proof assistant | Register allocation | Big O notation | Disjoint sets | Minimum spanning tree | Davenport–Schinzel sequence | Coq | Iterated logarithm | Set (mathematics) | Partition of a set | Union (set theory) | Dynamic array | Subset | Disjoint-set data structure | Unification (computer science) | Amortized analysis | Kruskal's algorithm