Skip to content

fumoboy007/DisjointSet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DisjointSet

A Swift implementation of a disjoint-set data structure.

Overview of Disjoint-Set

A disjoint-set is like a regular set but with an extra superpower: it can partition members into disjoint subsets without increasing the upper bound time complexity of standard operations.

Algorithmic Time Complexity

Operation Time Complexity
isEmpty O(1)
count O(1)
insert(_:unioningWith:) O(1)
contains(_:) O(1)
count(ofSubsetsContaining:) O(1)
allSubsets() O(n)
subset(containing:) O(n)

To confirm that the real-world results match the theory, use DisjointSet.attabench.

API Usage

See Tests/DisjointSetTests/LeetCodeTests.swift.

Compatibility

Tested using Swift 4. MIT license.

About

A Swift implementation of a disjoint-set data structure.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors