Table of Contents
Fetching ...

An experimental comparison of tree-data structures for connectivity queries on fully-dynamic undirected graphs (Extended Version)

Qing Chen, Michael H. Böhlen, Sven Helmer

TL;DR

This work tackles the practical performance of data structures for connectivity queries on fully dynamic undirected graphs, an area with rich theoretical results but unclear real-world behavior. The authors implement and benchmark a comprehensive set of approaches, including D-trees, Link-cut Trees, ET-tree-based HK/HKS/HDH variants, and height-bounded structures like ST, LT, and their lazy versions, across real and synthetic graphs. Their findings show that no single solution is robust across workloads: balanced and partitioned methods incur heavy space and maintenance costs, ET-tree-based methods consume substantial memory, and some simple unlevelled trees degenerate on large-diameter graphs. The paper distills practical lessons, highlights the need for standardized benchmarks, and outlines directions toward robust, scalable connectivity data structures suitable for integration into database systems.

Abstract

During the past decades significant efforts have been made to propose data structures for answering connectivity queries on fully dynamic graphs, i.e., graphs with frequent insertions and deletions of edges. However, a comprehensive understanding of how these data structures perform in practice is missing, since not all of them have been implemented, let alone evaluated experimentally. We provide reference implementations for the proposed data structures and experimentally evaluate them on a wide range of graphs. Our findings show that the current solutions are not ready to be deployed in systems as is, as every data structure has critical weaknesses when used in practice. Key limitations that must be overcome are the space and time overhead incurred by balanced data structures, the degeneration of the runtime of space-efficient data structures in worst case scenarios, and the maintenance costs for balanced data structures. We detail our findings in the experimental evaluation and provide recommendations for implementing robust solutions for answering connectivity queries on dynamic graphs.

An experimental comparison of tree-data structures for connectivity queries on fully-dynamic undirected graphs (Extended Version)

TL;DR

This work tackles the practical performance of data structures for connectivity queries on fully dynamic undirected graphs, an area with rich theoretical results but unclear real-world behavior. The authors implement and benchmark a comprehensive set of approaches, including D-trees, Link-cut Trees, ET-tree-based HK/HKS/HDH variants, and height-bounded structures like ST, LT, and their lazy versions, across real and synthetic graphs. Their findings show that no single solution is robust across workloads: balanced and partitioned methods incur heavy space and maintenance costs, ET-tree-based methods consume substantial memory, and some simple unlevelled trees degenerate on large-diameter graphs. The paper distills practical lessons, highlights the need for standardized benchmarks, and outlines directions toward robust, scalable connectivity data structures suitable for integration into database systems.

Abstract

During the past decades significant efforts have been made to propose data structures for answering connectivity queries on fully dynamic graphs, i.e., graphs with frequent insertions and deletions of edges. However, a comprehensive understanding of how these data structures perform in practice is missing, since not all of them have been implemented, let alone evaluated experimentally. We provide reference implementations for the proposed data structures and experimentally evaluate them on a wide range of graphs. Our findings show that the current solutions are not ready to be deployed in systems as is, as every data structure has critical weaknesses when used in practice. Key limitations that must be overcome are the space and time overhead incurred by balanced data structures, the degeneration of the runtime of space-efficient data structures in worst case scenarios, and the maintenance costs for balanced data structures. We detail our findings in the experimental evaluation and provide recommendations for implementing robust solutions for answering connectivity queries on dynamic graphs.
Paper Structure (38 sections, 6 theorems, 26 figures, 6 tables)

This paper contains 38 sections, 6 theorems, 26 figures, 6 tables.

Key Result

lemma 1

In a rank tree with the root node $r$, the depth of a node $x$$depth(x)$$=$$rank(r)$ - $rank(x)$.

Figures (26)

  • Figure 1: Connected component $C$ and spanning tree $st$ for $C$. Edges are labeled with their levels (described below). Dashed edges are non-tree edges for $st$.
  • Figure 2: Cumulative spanning trees for $C$ in Figure \ref{['fig:exam_c_t']}. $_c\mathcal{ST}_1^{(3)}$ denotes the level-1 cumulative spanning tree that contains node 3.
  • Figure 3: Recursive spanning trees for $C$ in Figure \ref{['fig:exam_c_t']}. $_r\mathcal{ST}_1^{(3)}$ denotes the level-1 recursive spanning tree that contains node 3.
  • Figure 4: Operations for delete tree edge (2, 3) in a D-tree for component $C$ of Figure \ref{['fig:exam_c_t']}. Nodes with red labels are root nodes.
  • Figure 5: Consider the spanning tree in Figure \ref{['fig:exam_dtree']}. Two preferred paths and the isolated node 1 of the spanning tree are stored as splay trees in the Link/cut tree.
  • ...and 21 more figures

Theorems & Definitions (14)

  • definition 1: Connectivity queries on tree-data structures
  • definition 2: level-$i$ tree and non-tree neighbors
  • definition 3: level-$i$ neighbors
  • definition 4: Level-i Cumulative Spanning Tree
  • definition 5: Level-i Recursive Spanning Tree
  • definition 6: Level-(i+1) super node
  • definition 7: Level-i Structural Tree
  • definition 8: Level-i Local Tree
  • lemma 1
  • lemma 2: thorup2000near
  • ...and 4 more