Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

DisjointSets.h File Reference

Implementation of disjoint sets data structures (union-find functionality). More...

#include <ogdf/basic/exceptions.h>
#include <ogdf/basic/internal/copy_move.h>
#include <cstring>

Go to the source code of this file.

Classes

struct  ogdf::disjoint_sets::AnyOption
 
struct  ogdf::disjoint_sets::CompressionOption< compressionOption >
 
struct  ogdf::disjoint_sets::InterleavingOption< interleavingOption >
 
struct  ogdf::disjoint_sets::LinkOption< linkOption >
 
class  ogdf::DisjointSets< linkOption, compressionOption, interleavingOption >
 A Union/Find data structure for maintaining disjoint sets. More...
 

Namespaces

 ogdf
 The namespace for all OGDF objects.
 
 ogdf::disjoint_sets
 

Macros

#define OGDF_DISJOINT_SETS_INTERMEDIATE_PARENT_CHECK
 

Enumerations

enum  ogdf::CompressionOptions { ogdf::CompressionOptions::PathCompression = 0, ogdf::CompressionOptions::PathSplitting = 1, ogdf::CompressionOptions::PathHalving = 2, ogdf::CompressionOptions::Type1Reversal = 4, ogdf::CompressionOptions::Collapsing = 5, ogdf::CompressionOptions::Disabled = 6 }
 Defines options for compression search paths. More...
 
enum  ogdf::InterleavingOptions { ogdf::InterleavingOptions::Disabled = 0, ogdf::InterleavingOptions::Rem = 1, ogdf::InterleavingOptions::Tarjan = 2, ogdf::InterleavingOptions::Type0Reversal = 3, ogdf::InterleavingOptions::SplittingCompression }
 Defines options for interleaving find/link operations in quickUnion. More...
 
enum  ogdf::LinkOptions { ogdf::LinkOptions::Naive = 0, ogdf::LinkOptions::Index = 1, ogdf::LinkOptions::Size = 2, ogdf::LinkOptions::Rank = 3 }
 Defines options for linking two sets. More...
 

Detailed Description

Implementation of disjoint sets data structures (union-find functionality).

Author
Andrej Dudenhefner
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file DisjointSets.h.

Macro Definition Documentation

◆ OGDF_DISJOINT_SETS_INTERMEDIATE_PARENT_CHECK

#define OGDF_DISJOINT_SETS_INTERMEDIATE_PARENT_CHECK

Definition at line 41 of file DisjointSets.h.