Next Article in Journal
Antioxidative and Photoprotective In Vitro Potential of Lavandula Angustifolium
Previous Article in Journal
Analyzing and Predicting the Agronomic Effectiveness of Fertilizers Derived from Food Waste Using Data-Driven Models
Previous Article in Special Issue
Development of a Modular Design and Detachable Mechanism for Safety Support Products in Winter Ice Fishing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

Recent Advances in Efficient Dynamic Graph Processing

1
School of Computer Science and Artificial Intelligence, Wuhan University of Technology, Wuhan 430070, China
2
College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China
3
School of Computer Science and Engineering, The University of New South Wales, Sydney, NSW 2052, Australia
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(11), 6003; https://doi.org/10.3390/app15116003
Submission received: 24 February 2025 / Revised: 17 May 2025 / Accepted: 21 May 2025 / Published: 27 May 2025

Abstract

:
Graph as one of the most fundamental and representative data structures has found a wide spectrum of emerging application domains such as social media, financial transactions, biology science, and road networks. Recently, with the proliferation of graph applications, graph processing has attracted much attention in both industry and academia. Among them, most existing works focus on the static graphs in which the vertices and edges are immutable. However, in the real world, graphs are constantly and dynamically changing, bringing tricky challenges to process such dynamic graphs. This paper surveys the recent advances in dynamic graph processing, including centrality, graph coloring, cohesive subgraph, path traversal, and graph separation. We summarize the computational complexity models for dynamic algorithm analysis, theoretically compare the efficiency of algorithms among different research topics. Moreover, we also explore the research opportunities for the future.

1. Introduction

A graph is a mathematical structure consisting of vertices and edges connecting certain pairs of them. Graphs have been widely used to represent the relationships of entities in real-world applications such as: social networks, in which a vertex represents a person and an edge between two vertices means two persons know each other [1]; World Wide Web, in which a vertex represents a web page and an edge stands for the hyperlink between two web pages [2]; collaborations networks, in which a vertex represents an author and an edge indicates the co-author relationship between two authors [3]; and protein–protein interaction of biology, in which a vertex indicates a protein and an edge means physical contacts of high specificity established between proteins [4]. With the proliferation of graph applications, research efforts have been devoted to many fundamental problems in managing and analyzing graph data [5].
Traditionally, researchers mainly focus on static graphs where vertices and edges are fixed and do not change over time [6,7,8,9,10]. However, real-world graphs change their topology over time. In a typical dynamic graph problem, one would like to answer queries on graphs that are undergoing a sequence of updates. The goal of a dynamic graph algorithm is to efficiently update the solution of the problem after dynamic changes, rather than having to recompute it from scratch each time. In the last decades, there has been a growing interest in such dynamically changing graphs [11,12,13]. It is not surprising that dynamic algorithms and dynamic data structures are often more difficult to design and analyze [14,15,16].
  • Applications. Specifically, dynamic graph processing has many real applications including:
    -
    Social network analysis. In a social network, users are connected by social relationships, such as friendships, professional collaborations, or online interactions. We can identify influential users through betweenness/closeness centrality [17,18], which is crucial for targeted advertising and information diffusion. Besides, in platforms such as Facebook, Twitter, and Instagram, there are applications for community detection, aiming to find cohesive and tightly connected user groups [19,20,21]. The shortest path can also be used to measure the close relationship between users [22,23]. Moreover, dynamic graph partitioning is an effective technique in social networks for balancing server workloads [24].
    -
    Biology science. A biological network is a graph-based representation of interactions between biological entities, such as genes, proteins, cells, or organisms. In biological network analysis, centrality can pinpoint essential proteins/genes in Protein–Protein Interaction (PPI) networks [17,25,26,27]. Moreover, cohesive subgraphs also play an important role in biological networks such as k-core/truss/clique. For example, they can be used to identify groups of genes with similar expression patterns, which may indicate shared functions between genes [28].
    -
    Transportation network. A transportation network is a system of interconnected routes (roads, railways, airways, etc.) and nodes (intersections, stations, airports) that enable the movement of people and goods. In transportation networks, centrality can be used to identify critical transport hubs for infrastructure planning [26]. Besides, dynamic shortest path algorithms enable real-time navigation updates [29].
    -
    Financial data analysis. A financial graph is a network representation of financial relationships, transactions, and dependencies between entities such as banks, companies, individuals, and assets. Dynamic centrality can identify suspicious transaction patterns [30]. Evolving community detection can reveal money laundering networks [31,32]. Moreover, time-dependent financial graphs have risk. For risk assessment, dynamic cohesive subgraph or community can detect tightly coupled risky assets.For market analysis, dynamic graph clustering can be used to track evolving stock correlations [33].
  • Challenges. Specifically, the challenges of dynamic graph processing can be listed as follows:
    -
    High frequency of updates. For instance, in online social networks, the graphs are typically large and continually evolving. As of 2023, Facebook has approximately 2.9 billion monthly active users. On average, there are over 50 million posts, comments, and likes per minute. This translates to about 72 billion interactions per day [34]. Twitter has around 461 million monthly active users as of 2023, about 6,000 tweets are posted every second, which amounts to approximately 500 million tweets per day [35].
    -
    High requirement of efficiency. Many applications that rely on dynamic graph processing require real-time or near-real-time response. For instance, fraud detection in financial services or targeted advertising in social media platforms demand immediate analysis of new connections or patterns within the graphs [36].
    -
    High time complexity of update computation. Graphs are inherently complex structures, and performing graph analysis such as path traversal, community detection, or centrality measures can be computationally intensive. For instance, searching many community models, such as clique and biclique, is proven to be an NP-hard problem [16]. As the graph changes, these operations need to be updated efficiently without recalculating from scratch, especially in large-scale scenarios.
In order to cover the above challenges of dynamic graph processing, we survey papers published in recent years, as shown in Table 1. The problems addressed in the existing research on dynamic graphs can be categorized into the following main topics:
-
Centrality. Measure the importance of vertices in graphs. Typical definitions of centrality include betweenness centrality, closeness centrality, and eccentricity. They can be utilized in several application domains such as social media, advertising push, and online search engines.
-
Graph Coloring. Assign a color to each vertex such that no two adjacent vertices share the same color. Graph coloring has many practical applications including register allocation, making schedule, and map coloring, and can also be an optimized technique for other graph problems such as clique enumeration and graph partitioning.
-
Cohesive Subgraph. Discover dense groups of vertices in graphs. Typical cohesive subgraph models include clique, biclique, k-core, k-truss, their diverse variants, and community models. They are widely applied in community detection, recommendation systems, and anomaly detection.
-
Path Traversal. Path traversal is a foundational graph computation problem, including depth-first search, shortest distance queries, and reachability queries, and is known to have direct applications in various fields, especially in road networks, such as path planning, navigation, and traffic control.
-
Graph Separation. Graph separation aims to separate the graph into many partitions or clusters. One is to divide the whole graph into several partitions which is important in distributed graph computing systems. Another is to find dense clusters in graphs, for instance, SCAN is the most representative algorithm for clustering.
Existing related surveys focus either on dynamic graph representation and embedding in the field of machine learning [11,12] or on particular dynamic graph problems such as pattern mining [13], anomaly detection [125], and GPU based processing [126]. For other surveys, they do not focus on dynamic graphs. Among them, [127] is the most similar with our survey which also focuses on dynamic graph algorithms. However, Ref. [127] only focuses on the algorithms on fully dynamic graphs, ignoring not only massive partial dynamic algorithms but also the parallel and distributed algorithms. Motivated by this, to fill the gap in the existing reviews, we cover a broader range by surveying papers for dynamic graphs in different graph problem categories, including fully dynamic algorithms, incremental dynamic algorithms, decremental dynamic algorithms, and streaming dynamic algorithms. Moreover, we detail how each algorithm handles updates, distinguishing among serial update, parallel update and distributed update. Additionally, for each class of algorithms, we analyze the advances of existing works and offer a clear comparison of the theoretical complexity across them.
  • General analysis. Dynamic graph algorithms have made significant progress in efficiently handling dynamic networks, leveraging incremental updates (e.g., localized re-computation in k-core maintenance or betweenness centrality) and parallel/distributed processing (e.g., parallel betweenness updates). These techniques drastically reduce re-computation overhead compared to static approaches. Many algorithms, such as those for dynamic DFS and shortest paths, achieve linear or near-optimal update times by exploiting structural properties or incremental label propagation. However, when handling highly dynamic and large-scale graphs, some algorithms (e.g., exact clique enumeration) remain impractical due to NP-hardness or excessive memory usage. Efficiency is heavily influenced by factors such as update rate and frequency (e.g., the number of updates), graph size and structure (e.g., arboricity in coloring or core-truss hierarchies). While recent work has improved scalability via parallelism and approximation, challenges remain in streaming graph support, tight theoretical bounds, and handling complex graph types.
  • Contributions. In summary, our main contributions are the following:
    (a)
    First, we provide a systematic classification of existing research on dynamic graph processing. For each class of works, we review the State-of-the-Art and representative works.
    (b)
    Second, we summarize three computational complexity models, including boundedness, semi-boundedness and relative boundedness. Specifically, we theoretically analyze the efficiency of algorithms among different research topics on dynamic graphs.
    (c)
    Third, we make discussions on the potential directions of future works, which will promote the development of dynamic graph processing.
The organization of this survey is shown in Figure 1. Section 2 introduces the concepts and common terminology used in this paper. Section 3 extensively discusses the computational complexity model for evaluating the computational complexity of algorithms. Section 4 reviews and analyzes recent existing works for different categories of algorithms on dynamic graphs. Section 5 presents recent system works aiming at managing dynamic graphs. Section 6 provides a discussion on future research directions. Section 7 concludes this survey.

2. Preliminaries

A general and undirected graph G ( V , E ) contains a set of vertices V and a set of edges E. The degree of a vertex v in G is the number of its neighbors in G. In other words, based on different application scenarios, graphs can have more specific definitions as follows.
-
Directed Graph. For a directed graph G ( V , E ) , each edge e ( u , v ) of G means a direct relationship between u and v, denoted as u v . In addition, a directed acyclic graph (DAG) is a directed graph that has no cycles. Figure 2a depicts a directed graph with five nodes.
-
Bipartite Graph—a bipartite graph is a graph whose vertices can be divided into two disjoint and independent sets, U and V, denoted as G ( U , V , E ) , such that every edge connects a vertex in U to one in V. Figure 2b depicts a bipartite graph.
-
Weighted Graph—a weighted graph has a number assigned to each of its edges, called its weight. The weight can be used to represent distances, influence or capacities. Figure 2c depicts a weighted graph where each edge has a weight.
-
Attributed Graph—an attributed graph is defined as G = ( V , E , A ) , where V ( E ) is the node (edge) set and A is the set of attributes associated with nodes. For each node v V , it has a set of attributes A ( v ) = { a 0 , , a m } . Figure 2d illustrates an attributed graph, in which each vertex represents a user in a social network, and the associated keywords capture the user’s interests.
A dynamic graph is characterized by changes performed on the set of nodes and/or the set of edges. These changes may correspond to insertions or deletions of vertices or edges. The dynamic types of graphs can be summarized into four cases:
-
Incremental Dynamic—a dynamic graph is incremental dynamic if only vertices or edges are inserted into G.
-
Decremental Dynamic—a dynamic graph is decremental dynamic if only vertices or edges are deleted into G.
-
Fully Dynamic—fully dynamic graphs match the scenarios such that there are not only vertices or edges additions but also vertices or edges deletions.
-
Streaming Dynamic—the graph evolves over time through a continuous stream of updates, where nodes and edges are added or removed incrementally.
In this survey, we review papers regarding to several kinds of graphs under different update types.

3. Computational Complexity Model

In the literature, asymptotic worst-case analysis serves as a standard method for assessing algorithm complexity, representing computational cost as a function of input size. In the case of dynamic graph algorithms, if runtime is measured as a function of input size, many such algorithms exhibit worst-case complexity that is often no more efficient than simply recomputing the solution from scratch. Clearly, assessing the computational complexity of dynamic graph algorithms in this way provides little meaningful insight. As a result, the literature examines various computational complexity frameworks, such as boundedness, relative boundedness, and semi-boundedness.
Definition 1
(Boundedness [128]). A dynamic algorithm is considered bounded if its cost is a polynomial in | CHANGED | and | Q | .
The concept of boundedness is first introduced in [129] to address limitations of worst-case analysis, and later adapted for graph problems in [128]. In [128], the authors propose | CHANGED | as an adaptive metric for quantifying input and output modifications. For a given query class Q , when applying update Δ ( G ) to graph G and computing Q ( G Δ ( G ) ) , the output changes Δ ( O ) must satisfy Q ( G Δ ( G ) ) = Q ( G ) Δ ( O ) . The study [128] establishes two key terms: MODIFIED captures graph input change Δ ( G ) , while AFFECTED describes query output change Δ ( O ) . The combined change CHANGED is defined as MODIFIED AFFECTED to measure total system changes. | CHANGED | measures the size of CHANGED . Based on | CHANGED | , a dynamic algorithm exhibits bounded if the time taken for the update is a function of the parameter of | CHANGED | . In contrast, it demonstrates unbounded if the computational time grows without bound even when | CHANGED | remains constant.
Definition 2
(Relative Boundedness [130]). A dynamic algorithm is called bounded relative if its cost can be expressed as a polynomial function in the sizes of | AFF | , | Δ ( G ) | , and | Q | .
Building upon the concept of boundedness, Ref. [130] puts forward two alternative approaches to assess computational complexity: localizable computations and relative boundedness. Ref. [130] proposes that the dynamic problem for Q is deemed localizable if there exists an incremental algorithm T Δ such that for Q Q , G and Δ G , its computational cost is solely determined by | Q | and the d Q -neighbors of nodes in Δ G , where d Q is exclusively dependent on | Q | only. Consider a query Q Q and a graph G, Ref. [130] defines G T , Q as part of the data of G examined by algorithm T when evaluating Q ( G ) . Given updates Δ G to G, AFF measures the variation between the inspected data before and after updates (i.e., ( G Δ G ) ( T , Q ) and G ( T , Q ) ). A dynamic algorithm T Δ for Q is bounded relative to T if its execution cost scales polynomially with | AFF | , | Δ G | , and | Q | .
Definition 3
(Semi-Boundedness [131]). A dynamic algorithm is said to be semi-bounded if: (a) its computational cost is a polynomial in | AFF | , | Δ G | , and | Q | ; and (b) the size of the auxiliary structure is bounded by a polynomial function of | G | .
The metric | CHANGED | , while accurately reflecting the inherent update costs in dynamic graph problems, imposes such stringent conditions that most practical dynamic graph algorithms cannot achieve bounded complexity under this framework. Consequently, Ref. [131] proposes a more relaxed metric centered on the concept of affected area AFF . This measure encompasses not only the direct output changes Δ O , but also includes all data that must be examined by any dynamic algorithm solving the given graph problem to identify these changes. A dynamic algorithm is semi-bounded if its computational complexity remains polynomial in three key parameters: | AFF | , | Q | , and | Δ G | . These parameters represent the necessary computations any dynamic algorithm must perform to solve a specific problem.
Theory analysis. The complexity analysis of dynamic algorithms often depends on the number of updates in dynamic graphs. The three models are defined in relation to the size of either Δ ( G ) (the number of updates applied to graph G) or | CHANGED | (a set that includes Δ ( G ) ). The difference between AFF and AFF is that the relative boundedness is defined in terms of the affected area AFF , relative to a specific algorithm T , while | AFF | is for all dynamic algorithms for query Q . Therefore, we have | AFF | > | AFF | . Consequently, the tightness of the above three computational complexity models can be sorted as boundedness > relative boundedness > semi-boundedness. As the boundedness of algorithms is demanding, only few dynamic algorithms can be totally bounded, such like shortest path problems with single-source or all pairs under positive lengths [128,132]. In addition, graph simulation is known as semi-bounded [131]. Ref. [130] proves that regular path queries and strongly connected components computation are relative bounded.

4. Algorithms

In this section, we explore and evaluate dynamic algorithms across various domains of graph computing. We begin by providing definitions and showing recent advancements in dynamic algorithms for each specific graph problem. Subsequently, we conduct a theoretical analysis and compare the time complexities of these algorithms to highlight their efficiency and performance.

4.1. Centrality

Centrality measures the importance of various vertices in a graph. It can be used in the applications such as identifying the most influential persons in a social network, key infrastructure nodes in the internet, and super-spreaders of disease. Since the “importance” of a vertex can be characterized from different perspectives, many different definitions of centrality are investigated in the literature. Typical definitions of centrality include betweenness centrality, closeness centrality, and eccentricity.

4.1.1. Betweenness Centrality

Definition 4
(Betweenness Centrality [133]). Given a graph G, the betweenness centrality of a vertex v V ( G ) is:
b c ( v ) = s , t V ( G ) δ ( s , t | v ) δ ( s , t ) ,
where δ ( s , t | v ) is the number of shortest paths between s and t that include v, and δ ( s , t ) is the number of shortest paths between s and t.
For betweenness centrality, the fastest static algorithm to compute exact betweenness centralities for all the vertices is proposed in [133] and it requires O ( n m ) and O ( n m + n 2 log n ) time on weighted and unweighted graphs, respectively. Regarding the dynamic setting, Ref. [17] is the first work that proposes an efficient algorithm, QUBE, to handle the update of the betweenness centralities of vertices in a graph. QUBE decomposes the input graph into independent components using minimum union cycles, such that the change in one component does not affect the betweenness centrality of nodes in other components. After a graph update, QUBE recomputes the betweenness centrality for the vertices in the affected component. Compared with recomputing from scratch, QUBE significantly reduces the number of explored vertices. Therefore, QUBE achieves great speedup practically.
After [17], Ref. [18] devises an incremental algorithm for betweenness centrality by maintaining the BFS trees for each vertex in the streaming graph. Ref. [40] maintains the betweenness centralities by updating the all-pairs shortest paths. It keeps a directed acyclic subgraph for each vertex containing all the edges that belong to at least one shortest path from the vertex and updates the shortest paths by a Dijkstra-like algorithm. Based on QUBE, Ref. [43] proposes a dynamic algorithm supporting vertex insertion/deletion. Ref. [25] further extends QUBE to support the insertion and deletion of bridge edges. Ref. [26] parallelizes [18] by introducing a novel multi-level data structure and providing an efficient workload estimation strategy. Ref. [39] proposes a parallel incremental algorithm, named iCentral, for the betweenness centrality computation. Different from QUBE, iCentral decomposes the input graph into biconnected components such that the betweenness centrality values of vertices not belonging to the affected biconnected components do not change after the update. Following iCentral, Ref. [37] further explores the opportunities to reduce unnecessary computation for the batch update case. In addition, Refs. [38,41] discuss the approximating betweenness centrality computation in dynamic graphs. Recently, Ref. [42] further improves the performance of the betweenness centrality maintenance on streaming graphs, where edges arrive over time.

4.1.2. Closeness Centrality

Definition 5
(Closeness Centrality [134]). Given a graph G, the closeness centrality of a vertex v V ( G ) is:
c c ( v ) = n 1 u V ( G ) d i s t ( v , u ) ,
where d i s t ( v , u ) is the shortest distance between v and u.
For the closeness centrality over static and unweighted graphs, it takes O ( n ( m + n ) ) to compute the closeness centrality of each vertex by using the BFS. In weighted graphs, the time complexity is O ( m n + n 2 log n ) if Dijstra’s algorithm with Fabonacci heap is used [135] or O ( n 3 ) if the Floyd–Warshall algorithm is used [136]. In dynamic graphs, Ref. [44] borrows the idea of maintaining dynamic shortest paths from [137] and proposes fully dynamic algorithms for the closeness centrality computation. Ref. [45] presents a framework named Streamer to parallelize the incremental closeness centrality computation on high-performance clusters. In [46], an algorithm named CENDY is proposed to update the closeness centrality when the edges are inserted/deleted but the vertices are fixed. Based on the observation that if the difference between the shortest distances from a vertex v to both end vertices of the edge to be inserted/deleted is greater than 1, then the shortest path from v to some vertices must change after an update, CENDY derives theoretical properties to quickly identify a set of vertices whose closeness centralities will change after an edge is inserted/deleted and updates the closeness centralities accordingly. Ref. [37] considers the batch update scenario to maintain the closeness centrality and shows a parallel approach to achieve the goal. Ref. [47] leverages the biconnected component and reserves key intermediate results to boost the closeness centrality maintenance.

4.1.3. Eccentricity

Definition 6
(Eccentricity [138]). Given a graph G, the eccentricity of a vertex v V ( G ) is :
e c c ( v ) = max u V ( G ) d i s t ( v , u ) .
For the eccentricity centrality, Ref. [139] is the State-of-the-Art approach to compute eccentricity centrality for static graphs by non-trivially utilizing the upper and lower bounds of a vertex. Regarding the dynamic graphs, Ref. [48] provides the first algorithm on maintaining the eccentricities upon each edge update. It first scopes the possibly affected nodes and then facilitates a more targeted eccentricity re-computation algorithm to improve the efficiency of maintaining the eccentricities.
Algorithm analysis. We analyze different centrality algorithms over various aspects including graph type, update mode and supported graph change type. As shown in Table 2, we list representative works and recent works published within the past three years. Most algorithms support fully dynamic graphs with both edge/vertex insertion/deletion. For the time complexity, Ref. [25] proposes an algorithm whose worst-time complexity is bounded by a polynomial in | V T | , | E T | , | V | and | E | where | V T | | V | and | E T | | E | . In [39], T is the number of threads. L ( B ) denotes the set of nodes affected due to all the edges in batch B [37]. In [44], | Affected | is used to denote the sum of the number of edges and the nodes in the subgraph formed by AffectedSource and AffectedSink nodes’ neighborhoods. Besides, for the complexity of closeness centrality, m i n { | V ´ a | , | V ´ b | } is very small in real-world networks, V affect and E affect are much smaller than the original graph [46,47]. Regarding eccentricity, in [48], the empirical study indicates that the size of | C b | is reduced to a level which is no more than 10 2 , achieving high efficiency of eccentricity maintenance.

4.2. Graph Coloring

Graph coloring is a fundamental graph problem that is widely applied in a variety of applications such as nucleic acid sequence design in biochemical networks, air traffic flow management, channel assignment in wireless networks, and community detection in social networks. Classic graph coloring includes vertex coloring and edge coloring.

4.2.1. Vertex Coloring

Definition 7
(Vertex Coloring). Given a graph G, vertex coloring assigns each vertex in G a color such that no two incident vertices (connected by an edge) have the same color.
Vertex coloring seeks to determine an optimal coloring of a graph G, where the chromatic number represents the smallest number of colors required for a valid coloring [140]. This optimization problem is known to be NP-hard for static graphs, as established in [8]. In [141], the computational complexity of optimal graph coloring is established, proving that no polynomial-time algorithm can achieve an n 1 ϵ approximation ratio for any ϵ > 0 , unless NP = ZPP. Given this fundamental limitation, researchers have developed numerous approximation approaches for static graph coloring. Ref. [142] presents a systematic survey of existing algorithmic approaches for solving the static graph coloring problem.
In addressing the dynamic vertex coloring problem, Ref. [52] proposes two complementary algorithmic frameworks that establish distinct performance trade-offs between recoloring frequency and color minimization. For any d > 0 , the first algorithm guarantees a proper coloring using O ( C d N 1 / d ) colors while recoloring at most O ( d ) vertices per update. Conversely, the second algorithm maintains O ( C d ) colors but requires recoloring O ( d N 1 / d ) per update, where C represents the maximum chromatic number and N denotes the vertex count. Furthermore, Ref. [52] establishes a lower bound showing that for any 2-colorable graph with N vertices, maintaining a proper coloring with c colors(where c 2 is constant) must require at least Ω ( N 2 / c ( c 1 ) ) recolorings per update operation. Ref. [54] studies dynamic graph coloring in the context of bounded-degree graphs. Their work introduces a randomized approach that maintains a proper ( Δ + 1 ) -coloring with an amortized expected update time of O ( log Δ ) , It also presents a deterministic method that achieves a Δ ( 1 + o ( 1 ) ) -coloring with an amortized O ( p o l y log Δ ) update time, where Δ represents the maximum vertex degree. Ref. [49] presents a novel algorithm applicable to general graphs that guarantees a proper O ( α log 2 n ) -coloring while achieving an amortized time complexity of O ^ ( p o l y l o g α ) , where α denotes the graph’s arboricity. Although the graph coloring problem is NP-complete in general, polynomial-time solutions exist for specific dynamic graph classes, including chordal graphs and biconvex bipartite graphs as demonstrated in [143].
From an application-oriented standpoint, dynamic vertex coloring has been investigated in [51], which introduces an algorithmic approach that performs localized updates to the colors of vertices adjacent to modified edges during insertion/deletion operations. Ref. [50] investigates the dynamic graph coloring problem through an edge-centric coloring approach implemented in a distributed graph processing framework. Ref. [53] introduces the most advanced practical solution for sequential dynamic graph coloring. The algorithm proposed in [53] addresses two key requirements: maintaining stable coloring across updates (effectiveness) and limiting computation to affected neighborhoods (efficiency). The solution employs a propagation mechanism indexed by color, which tracks essential color data per vertex, and naturally restricts processing to adjacent vertices of color-changed nodes.
Algorithm analysis. We analyze different dynamic vertex coloring algorithms over dynamic graphs. As shown in Table 3, most vertex coloring algorithms are designed to support fully dynamic graphs. However, research on streaming graphs remains limited and represents an area that requires further exploration and development. For the time complexity, in [54], Δ denotes the maximum degree of vertices in the graph. In [49], the worst-time complexity with O ( α log 2 n ) colors is bounded by a polynomial in α where α is an arboricity value. Refs. [50,51,53] primarily focus on heuristics and experimental results.

4.2.2. Edge Coloring

Definition 8
(Edge Coloring). Edge coloring of a graph is an assignment of colors to the edges of the graph so that no two incident edges have the same color.
Ref. [56] introduces the OHEColoring algorithm, an ordering heuristic-based static edge coloring approach with O ( m · d m a x ) time complexity (where m represents edge count and d m a x denotes maximum degree). For dynamic maintenance, the work develops: (1) a propagation mechanism that handles edge recoloring triggered by graph updates, and (2) an edge-priority recoloring algorithm that guarantees single recoloring per edge to optimize computational efficiency.
For dynamic graphs undergoing continuous edge modifications, Refs. [54,55] present efficient solutions to maintain proper edge coloring. Their approaches ensure a proper coloring using at most ( 2 Δ 1 ) colors while requiring only O ( log Δ ) time complexity per update operation, where Δ represents the maximum vertex degree. Ref. [57] demonstrates the maintenance of ( 1 + ϵ ) Δ -coloring with an amortized update time of O ( log 8 n / ϵ 4 ) for graphs satisfying Δ Ω ( log 2 n / ϵ 2 ) . This result is later improved by [59], which achieves the same coloring quality with an update time of O ( log 4 ( 1 / ϵ ) / ϵ 9 ) , under the relaxed condition Δ ( log n / ϵ ) Θ ( ( 1 / ϵ ) log ( 1 / ϵ ) ) . Ref. [60] establishes an efficient algorithm for maintaining a ( Δ + O ( α ) ) -edge coloring in dynamic graphs, achieving a constant amortized update time O ˜ ( 1 ) , where α denotes the graph’s arboricity, Δ represents its maximum degree, and ϵ is a given parameter.
Recent advances in ( 1 + ϵ ) Δ -coloring algorithms demonstrate significant progress: Ref. [57] achieves an update time of O ( log 8 n / ϵ 4 ) when Δ = Ω ( log 2 n ϵ 2 ) , while Ref. [58] removes the degree restriction with O ( log 9 n log 6 Δ / ϵ 6 ) complexity. The algorithm in [59] further reduces the update time to 2 O ˜ log ϵ 1 ( log n ) under certain parameter conditions on Δ and ϵ .
Algorithm analysis. We compare different edge coloring algorithms over dynamic graphs. Most edge coloring algorithms support incremental/decremental dynamic graphs. For the time complexity of existing works, the worst-time complexity of most algorithms depends on Δ , such as [54,55] where Δ is the maximum degree. Refs. [57,58,59,61] all studies ( 1 + ϵ ) Δ -coloring problem. The worst-time complexity of [57,59,61] is bounded by a polynomial in ϵ and n, where ϵ > 0 is an arbitrarily small constant and n is the number of vertices. However, there is a noticeable gap in research concerning streaming dynamic algorithms and parallel or distributed algorithms, highlighting an area that demands further investigation and advancement.

4.3. Cohesive Subgraph Search

Cohesive subgraph search is an important and fundamental research problem in graph analysis with many practical applications, including community detection and friend recommendation in social networks, production recommendation and commercial advertising in shopping networks, complex protein detection in PPI networks, etc. [28,144]. Based on different criteria for cohesiveness, multiple cohesive subgraph models are proposed.

4.3.1. Clique Model

Definition 9
(Clique). Given a graph G, a clique C is a maximal subgraph in G, s.t., each pair of vertices in C are neighbors. A k-clique is a clique with k vertices.
As illustrated in Figure 3, subgraph C 1 is a 6-clique, while C 2 constitutes a 5-clique.
The clique model represents a fundamental and well-studied cohesive subgraph structure in network analysis [7]. The primary computational challenge of this model lies in exhaustively identifying all cliques within a graph G which is a task proven to be NP-hard and admits no known polynomial-time approximation algorithm [141]. Given the dynamic nature of real-world networks undergoing constant edge modifications, efficient clique maintenance algorithms have become increasingly crucial for supporting various practical applications.
Initial research in [62] pioneered maximal clique enumeration (MCE) for dynamic graphs handling single-edge updates. Given a graph G, the approach in [62] processes an edge insertion ( u , v ) by examining all maximal cliques A containing u and B containing v. For each pair of cliques ( A , B ) A × B , it generates candidate cliques as ( A B ) ( u , v ) , achieving a time complexity of O( W 2 n 2 ), where W represents the number of maximal cliques and n is the number of vertices. Subsequent work [65] improves this through an innovative local construction strategy using linear scans, reducing the candidate set size to O(W) and overall complexity to O( W n 2 ). The framework in [65] also supports edge deletion by inverting the insertion process when edges are removed.
In addition, the research in [63] tackles the challenge of maintaining maximal cliques in dynamic graphs undergoing batch edge updates. The work makes two fundamental contributions: first, it establishes near-optimal bounds quantifying how the set of maximal cliques evolves when edges are added to the graph. Second, it introduces a novel change-sensitive algorithm for incremental clique maintenance whose computational complexity scales linearly with the actual changes in the maximal clique set—particularly effective for small edge additions. Specifically, the algorithm achieves time complexity of O ( Δ 3 ρ | Λ n e w ( G , G ) | ) for enumerating newly formed cliques (where Δ represents the maximum vertex degree in the updated graph G and ρ denotes the number of added edges), where O ( 2 ρ | Λ n e w ( G , G ) | ) is used for detecting removed cliques. Notably, the proposed method can also be applied to the decremental case. Moreover, Ref. [16] develops a parallelized version of the approach in [63], implementing a shared-memory architecture where multiple threads concurrently process clique enumeration while accessing a globally shared graph structure.
The work in [64] investigates incremental maximal clique enumeration for dynamic graph maintenance, introducing the SOMEi data structure, a space-efficient index for storing intermediate maximal cliques during construction that enables the efficient retrieval of scope-constrained cliques.

4.3.2. Biclique Model

Definition 10
(Biclique). Given a bipartite graph G = ( U V , E ) where U,V is vertices on different sides of G, and E is edges between U and V, a biclique C is a maximal subgraph in G, s.t., each vertex in C U is connected to each vertex in C V .
Figure 4 shows a bipartite graph G with U ( G ) = U 1 , U 2 , , U 7 , V ( G ) = V 1 , V 2 , , V 6 . As the maximum biclique C, we have U ( C ) = U 3 , U 4 , U 5 , U 6 , V ( C ) = V 2 , V 3 , V 4 , V 5 .
On dynamic bipartite graph with adding batch edges over time, Ref. [66] solves the problem of incremental maintenance for maximal bicliques(MBE). Following the key idea for clique maintenance of [63,65], Ref. [66] proposes a change-sensitive incremental maintenance algorithm i.e., its time complexity is proportional to the magnitude of change in the set of maximal bicliques. In other words, all bicliques enumerated are exactly the newly added bicliques or removed bicliques. Ref. [67] proposes a novel algorithm for enumerating maximal bicliques in a dynamically changed graph, focusing only on newly created or reduced maximal bicliques rather than re-searching the entire graph. This approach leverages previously enumerated results to efficiently update the biclique enumeration after each graph modification.
Algorithm analysis. We compare the maximal clique enumeration (MCE) and maximal biclique enumeration (MBE) algorithms over dynamic graphs, respectively. As shown in Table 4, most algorithms can handle incremental dynamic graphs with edge/vertex insertion. For the time complexity, Refs. [62,65] propose algorithms whose worst-time time complexity is bounded by a polynomial in W and n where W represents the number of cliques and n represents the number of vertices. In [63,66], the time complexity depends on several factors including the maximum degree, the size of update edge set and the new formed clique or biclique on the updated graph. In addition, existing works demonstrate limitations when applied to fully dynamic graphs and streaming graphs, as most algorithms are memory-based and rely on single-threaded execution, restricting their scalability and efficiency in more complex and dynamic scenarios.

4.3.3. Core Model

Definition 11
( k -core). Given a graph G and an integer k, a k-core is a maximal subgraph in G, s.t., the degree of each vertex v in it is not less than k.
As illustrated in Figure 5, the graph exhibits a hierarchical k-core structure comprising 1-core, 2-core, and 3-core layers. The visualization employs progressively darker shading for vertices with higher core numbers, which effectively demonstrates the nested nature of the k-core decomposition model.
The core maintenance problem in dynamic graphs involves efficiently updating vertex core numbers after the insertion/deletion of vertices/edges.
Modern distributed computing platforms have inspired various parallel approaches for k-core index construction and maintenance, designed to maximize resource utilization through scalable distributed architectures [68]. Specifically, Ref. [73] investigates distributed core maintenance under multi-edge updates, demonstrating that only a constant number of vertices require core number reevaluation when the original graph is updated through single or multiple edge insertions/deletions.
In addition, parallel computing approaches have emerged as powerful solutions for core maintenance, leveraging multi-threading and shared-memory architectures to boost performance. Ref. [69] is a pioneering work in this direction with its joint edge set structure and corresponding parallel algorithms. Subsequent work [71,72] develops parallel methods for batch edge processing, establishing the important theoretical result that each edge operation affects vertex core numbers by at most 1. Notably, Ref. [72] proves that edge changes forming a matching can be processed in parallel. Meanwhile, Ref. [19] takes a hierarchical perspective, analyzing the structural properties of k-core hierarchies in dynamic graphs and developing efficient local update strategies for edge modifications.
Building upon the superior edge set framework, Ref. [20] develops unified algorithms for incremental and decremental core maintenance for batch edge operations. These algorithms enable parallel execution by distributing edges sharing common core numbers across threads. Subsequent work in [75] enhances parallelism through the theory of k-insertion/removal graph. While traditional parallel approaches relying on traversal algorithms face sequential bottlenecks when processing uniform-core graphs, Ref. [76] overcomes this limitation by adapting the order algorithm to maintain parallelism regardless of core number distribution.
Algorithm analysis. We compare difference core maintenance algorithms over dynamic graph. As shown in Table 5, all core maintenance algorithms support fully dynamic graphs. Existing works have explored a variety of efficient approaches, including single-threaded, parallel, and distributed methods. However, the problem of core maintenance on streaming graphs remains largely unexplored and presents a significant area for future research. For the time complexity, Refs. [20,71] propose parallel core maintenance algorithms in incremental dynamic graphs whose worst-time complexity for both are bounded by a polynomial in Δ I , m S , L S and n S , where Δ I is used to represent the maximum number of edges inserted to each vertex in the origin graph, L S is the max times that a vertex u can be visited by negative DFS procedures in the algorithm execution, and m S represents the max number of edges traversed when Ref. [20] computes superior degree and Ref. [71] computes constraint superior degree in the case of inserting edges. The worst-time complexity of [69] has the same structure as that of [20,71], with the only differences being n S ( k ) = | V S ( k ) | and m S ( k ) = | E S ( k ) | . In [75], ϕ G represents the largest core number of vertices in G, | G | denotes the size of updated graph and | G k | is used to denote the number of k-core. The time complexity of [76] is superior to that of other listed parallel algorithms. Here, | E + | is the largest number of adjacent edges for all vertices in | V + | among each inserted edge where | V + | is a larger set of vertices that is traversed to determine which vertices the core needs to update. For single edge/vertex update, Ref. [70] proposed a linear algorithm named TRAVERSAL whose worst-time complexity is bounded by the number of edges. Moreover, based on the finding that the order algorithm [69] significantly outperforms the traversal algorithm [74] across various real-world graphs, Ref. [76] further performs better than [69]. Ref. [76] improves the existing parallel core maintenance methods [71,72] because the prepossessing of Δ E is not required so that edges can be inserted or removed on-the-fly.

4.3.4. Truss Model

Definition 12
( k -truss). Given a graph G = ( V , E ) and an integer k, a k-truss C is a maximal subgraph of G, s.t., for each edge e = ( u , v ) in C, vertex u and v form at least k 2 triangles in G. Further, the truss number of an edge is defined as the largest k value among all k-trusses containing this edge.
The k-truss decomposition illustrated in Figure 6 reveals a clear structural pattern, where edges possessing higher truss numbers consistently concentrate within more densely interconnected regions of the graph.
The k-truss model, originally introduced by [145], represents a significant cohesive subgraph structure with diverse applications. Given a graph G, truss decomposition computes the trussness τ ( e ) for each edge e in G, where τ ( e ) indicates the maximal k-truss containing e. In dynamic settings, researchers have investigated bounded truss maintenance algorithms where for some polynomial function f and some positive integer c, update cost is polynomial in O ( f ( | | CHANGED | | c ) ) with | | CHANGED | | c is the size of c-hop neighborhood of CHANGED . Ref. [21] establishes that while edge removals permit bounded maintenance under locally persistent algorithms, edge insertions do not.
The study in [82] examines truss maintenance under single-edge updates by first identifying the scope of potentially affected edges. There are two scenarios for affected edges when inserting or deleting an edge e 0 . (1) Insertion scenario—for any e E ( G ) { e 0 } with τ ( e ) < τ ^ ( e 0 ) ¯ , if e and e 0 form a new triangle with weight τ ( e ) , or e is connected with e 0 through a series of adjacent triangles each with weight τ ( e ) , then e may have τ ^ ( e ) = τ ( e ) + 1 , where τ ^ ( e ) denotes the new trussness of e, τ ^ ( e 0 ) ¯ denotes the upper bound of τ ^ ( e 0 ) . (2) Deletion scenario—this is similar to the insertion scenario. Building upon the affected edge scope identification, Ref. [82] develops a update algorithm using a modified truss decomposition approach. Subsequent work in [80] extends this to vertex insertion scenarios. The State-of-the-Art [21] introduces AFF as a practical bounded alternative to CHANGED for edge insertions, while maintaining removal efficiency. Their insertion algorithm achieves O ( f ( | | AFF | | c ) ) for some polynomial function f and some positive integer c with | | AFF | | c being the size of the c-hop neighborhood of AFF , demonstrating up to three orders over [82] in experimental evaluations.
While the above works focus only on single edge/vertex insertion/deletion, Ref. [77] pioneers batch processing for truss maintenance with multiple edge operations. To tackle the difficulty in quantifying the trussness changes of the edges in batch processing, The work introduces two novel metrics: sustained support and pivotal support, which can efficiently identify edges likely to change trussness, significantly narrowing the search space.
Ref. [81] further investigates the truss maintenance problem and develops the superior triangle edge set concept, guaranteeing that the truss number of any affected edge changes by at most 1. The proposed parallel algorithms leverage this structure to process batch updates efficiently through iterative processing of multiple edges.
Ref. [79] proposes an incremental community search solution using D-truss in dynamic directed graphs. [78] proposes truss maintenance algorithms capable of handling concurrent edge/vertex insertions and deletions in fully dynamic graphs. Compared with the approach in [77], these algorithms demonstrate superior efficiency and substantially reduce the required iteration count for processing graph updates. Furthermore, the proposed methods in [78] admit efficient parallel implementations that further optimize the iteration complexity of truss maintenance operations.
Algorithm analysis. We analyze different truss maintenance algorithms. As shown in Table 6, most truss maintenance algorithms support fully dynamic graphs. For the time complexity, in [81], worst-time complexity of incremental and decremental algorithms is bounded by the same factors, the only difference is that the increment algorithm is constrained by | E t I | , while the decremental algorithm is constrained by | E | . Here, | E t I | denotes the edge set traversed, and | E | denotes the set of the edges with truss numbers decreasing. In [78], the worst-time complexity of incremental algorithm is bounded to the polynomial function of R + , d m a x , | Δ E | , | Δ V | , A m a x and P m a x . Here, given a graph G T , where T H = { Δ V , Δ E } , R + = max T H max v Δ V , e Δ E { | V Δ v ( T ) | + | E Δ e ( T ) | } , A m a x = max T Δ H , T Δ H T | A T T | , P max = max T Δ H , T Δ H T , e G T P T T ( e ) . For an edge e G T , let P T T ( e ) = S ( e ) τ G T ( e ) + 2 where S ( e ) is the k-triangle support of e in G T . Ref. [78] proposes truss maintenance algorithms in fully dynamic graphs for both multiple vertex/edge insertions/deletions. In contrast, the approach in [77] only processes multiple edge insertions/deletions without considering vertex insertions/deletions. The approach in [78] can significantly reduce the iterations needed for processing both inserted/deleted edges and vertices, especially for the cases where inserted/deleted vertices are connected to numerous edges. Therefore, in terms of performance, Ref. [78] offers a superior approach. Ref. [80] extends the algorithms in [82] and proposes the maintenance algorithms to handle single vertex.

4.3.5. Community Search

Community search involves identifying dense subgroups in a given graph and aims to find the best local community for a given set of seed vertices. For dynamic environments, Refs. [88,146] investigate evolving community structures, while Ref. [89] introduces Local Weighted-Edge-based Pattern Summary to characterize homogeneous regions in weighted graph streams which aims to tackle the problem of discovering dynamic communities in weighted graph streams. And then, Ref. [84] presents an algorithm for dynamic seed set expansion, which incrementally updates the community as the underlying graph changes.
The study in [85] proposes Agglomerate, an innovative algorithm for dynamic graphs that adapts the parallel CNM approach [147] from [10]. This method utilizes a greedy static strategy to maximize modularity while maintaining a merge history for backtracking capabilities. The most relevant comparative work is [148], which similarly develops two dynamic algorithms for updating CNM-based clusterings.
Advances in community detection include three distinct approaches: Ref. [87] utilizes personalized centrality measures for local community identification and seed set expansion, while Ref. [86] develops a fine-grained incremental algorithm tracking community evolution through modularity optimization. Complementing these, Ref. [149] introduces an adaptive multi-centrality aggregation method specifically targeting influential nodes and overlapping community structures in dynamic networks.
Recently, The work in [83] introduces a parallel dynamic frontier algorithm that efficiently identifies an approximate set of impacted vertices during batch edge updates (insertions/deletions) with minimal computational overhead.

4.4. Path Traversal

Path traversal in graph theory involves exploring a graph by following paths with many practical applications such as optimizing routes for delivery, public transit, or flight paths on transportation networks. There are three traditional problems in path traversal, i.e., Depth-first search, shortest distance queries, reachability queries.

4.4.1. Depth-First Search

Depth-first search (DFS) is a fundamental graph traversal technique. Starting from a root node, the algorithm exhaustively traverses each branch to its maximum depth before backtracking its steps. After Tarjan’s groundbreaking contributions [150], DFS has become indispensable in solving core graph theory challenges, serving as the foundation for numerous algorithmic solutions such as strongly connected components [150], bipartite matching [151], biconnected components [152], and dominators in directed graphs [153].
Definition 13
(Depth-first Search [154]). Given a directed graph G, a depth-first search (DFS) traverses G in a particular order: starting from an initial vertex, it systematically visits unvisited out-neighbors until reaching a dead-end, then retraces its path to explore alternative branches.
Definition 14
(DFS-Tree [154]). Given a graph G, a DFS-Tree of G is a spanning tree formed by the process of DFS.
Given a directed graph G and any search spanning tree of G, edges can be categorized as either tree edges or non-tree edges. The edges appearing in the tree are called tree edges. The remaining edges ( u , v ) are non-tree edges that can be further classified into one of the following four types: (1) Forward edge: if u is an ancestor of v in the spanning tree. (2) Backward edge: if u is a descendant of v in the spanning tree. (3) Forward-cross edge: if u and v are unrelated in the tree, and u is visited before v. (4) Backward-cross edge: if u and v are unrelated in the tree, and u is visited after v. Figure 7 illustrates these edge classifications, which are fundamental to analyzing DFS-tree properties.
Lemma 1.
Given a directed graph G, a searching spanning tree of G is a DFS-Tree if and only if there is no forward-cross edge in G under this tree [155].
For a graph G with n vertices and m edges, constructing a DFS-tree via depth-first search requires O ( n + m ) [154]. While DFS-tree computation is well-understood for static graphs, its dynamic maintenance remained largely unexplored until recent years. Early research focused on the ordered DFS-tree variant, with [156] establishing its P-completeness. Subsequent works [157,158] demonstrate that such P-complete problems inherently resist efficient dynamic solutions. Specifically, Ref. [158] proves that any O ( t ( m , n ) ) -time maintenance algorithm for ordered DFS-trees would imply that all problems in P could be maintained in O ˜ ( t ( m , n ) ) time.
Regarding the general DFS-Tree, initial progress includes [95]’s O ( m n ) -time incremental algorithm for DAGs and [98]’s expected O ( m n log n ) -time decremental solution for DAGs. For undirected graphs, Ref. [96] achieves O ( n 2 ) total time for incremental updates. Despite these advances, all existing approaches remain limited to partially dynamic settings and fail to achieve sublinear o ( m ) worst-case update time, meaning they may degenerate to static recomputation complexity in worst-case scenarios.
Ref. [94] presents the first fully dynamic DFS algorithm achieving sublinear O ( m ) update time. The algorithm leverages pre-update DFS-trees to construct reduced adjacency lists. Their approach achieves a worst-case update time of O ( m n log 2.5 n ) for undirected graphs. Moreover, Ref. [94] also provides an incremental algorithm with an improved O ( n log 3 n ) bound for incremental cases. Building on this foundation, Ref. [91] further optimized these results to O ( m n log 2.5 n ) for fully dynamic and O ( n ) for incremental settings.
Building upon the framework in [94], Ref. [92] develops an enhanced algorithm achieving O ( m n log 0.75 + ϵ n ) update time for fully dynamic graphs and O ( n log n ) for incremental cases, using O ( m log n ) space. In [92], further optimizations reduce space to O ( ( 3 m + o ( m ) ) log n ) while maintaining a worst-case update time of O ( m n log 1.25 n ) for thee fully dynamic setting and O ( n log n ) for the incremental setting. Ref. [93] introduces a distinct approach through DFS-tree path decomposition, yielding O ( m n log n ) space. Note that all mentioned algorithms specifically address undirected graph scenarios.
Regarding the fully dynamic DFS-Tree maintenance algorithms in directed graph, Ref. [90] first proposes efficient algorithms from the perspective of practical implementation. According to Lemma 1, the DFS-Tree maintenance problem is essentially to eliminate the forward-cross edges. To efficiently check the edge type in constant time, Ref. [90] attaches the discovery timestamp and finish timestamp of each vertex during the DFS-Tress search. Based on the attached timestamps, the proposed algorithms first identify a candidate time interval such that the DFS-subtree induced by the vertices whose attached timestamps in the candidate time interval may be changed and the other part of the DFS-Tree remains unchanged. By performing the DFS following the vertices whose attached timestamps in the candidate time interval, the correct DFS-Tree can be obtained. Ref. [90] further explores opportunities by refining the candidate time interval and transforming the graph search to tree search to improve the efficiency. Although the algorithms proposed in [90] do not have tight theoretical guarantees, their practical performance is impressive as verified by the experiments on large datasets.
Algorithm analysis. We analyze DFS-Tree algorithm over dynamic graphs. As shown in Table 7, all the algorithms’ worst-time complexity are bounded by a polynomial in n or m, where n is the number of vertices over graph, and m is the number of edges over graph. The DFS-Tree maintenance problem is well studied when the graph is updated in batch. However, the streaming BFS-tree maintenance needs further investigation.

4.4.2. Shortest Distance Queries

Given a graph G, a shortest distance query asks the minimized length of all the paths between two query vertices in G. Without doubt, answering shortest distance queries is one of the most fundamental operations on graphs. It is a primitive as either a main function or a building block of applications including geographic navigation, internet routing, socially tenuous group finding [159], influential community searching [160], and event detection [161]. A straightforward approach to answering shortest distance queries is breadth-first search on unweighted graphs or Dijkstra’s algorithm on positively weighted graphs. However, this approach may traverse the entire graph when two query vertices are far apart, and thus it incurs high computational cost especially when the graph is large. Consequently, indexing methods for efficiently answering shortest distance queries have been intensely studied [162,163]. Considering that real-world networks are highly dynamic, operations of users are bursty in regard to temporal locality [105]; it is tricky to design efficient index maintenance algorithms without reconstructing indices from scratch.
Ref. [107] studies the dynamic shortest path problem, which aims to recompute shortest path trees (SPTs) with a set of edge weight updates on a dynamic graph G. In order to handle multiple edge weight updates, the authors of [107] propose several dynamic SPT algorithms, namely DynDijkstra, MBall-StringInc and MFP, which extend and correct several existing dynamic SPT algorithms [132,164]. To be specific, MBall-StringInc [107] is proposed to amend BallString [164], which cannot update SPTs correctly in the case of multiple edge weight increase. MFP [107] is proposed to tackle the inefficiency problem of DynamicSWSF-FP [132], and it supports fully dynamic edge weight updates (i.e., with both edge weight increases and decreases). DynDijkstra [107] is a simple dynamic version of Dijkstra, which includes the algorithms of DynDijkstraInc and DynDijkstraDec that are designed to handle multiple edge weight increases and decreases, respectively.
Ref. [108] investigates dynamic single-source shortest path (SSSP) computation, and introduces two algorithms: LazyDijkDec for edge weight decreases and LazyDijkInc for increases. LazyDijkDec optimizes DynDijkstraDec [107] by terminating SPT computation upon finding the target path. LazyDijkInc reformulates DynDijkstraInc [107] into a set of edge weight decreases in an altered graph enabling LazyDijkDec to handle subsequent updates without intermediate SPT computation. Experimental results indicate these methods offer only marginal improvements over [107]’s original approaches.
While [107,108]’s Dijkstra-based algorithms can efficiently solve shortest distance queries, high computational cost incurs when the graph is large. Consequently, significant research has focused on developing efficient indexing techniques for shortest-path queries. Ref. [105] introduces two dynamic indexing structures for shortest-path and distance queries on large time-evolving graphs, which represent the first practical exact solutions capable of simultaneously handling both real-time distance queries and graph updates in evolving networks. And then, Ref. [105] proposes a dynamic indexing scheme, namely dynamic pruned landmark labeling, for queries on the last snapshot.
While the indexing framework in [105] lacks support for edge deletions, this operation frequently occurs in practical scenarios such as social network analysis, where user relationships dissolve. To address this limitation, the work in [109] develops specialized algorithms for computing the shortest path distance, particularly under decremental updates. They propose maintenance algorithms based on 2-hop cover, which can handle decremental updates efficiently. Similarly, the work in [100] develops a general approach for answering distance queries in fully dynamic graphs. Specifically, they propose a novel dynamic algorithm to update 2-hop cover labels during edge deletions, ensuring the minimality of the labels—an important feature that influences both storage requirements and query performance.
The aforementioned algorithms for processing shortest-distance queries on dynamic graphs are primarily designed for in-memory computation, limiting their applicability to large-scale graphs. To address this issue, several external-memory algorithms have been developed. For instance, the work in [106] investigates exact shortest-distance queries on disk-resident scale-free dynamic graphs and introduces two I/O-efficient algorithms for updating canonical labeling—a specialized form of 2-hop distance labeling. Meanwhile, the study in [104] concentrates on the incremental maintenance of all-pairs shortest distances. Their algorithms utilize general operators that can be adapted across various database management systems (DBMSs), making them compatible with both in-memory and disk-based DBMS implementations.
Ref. [103] presents a deterministic data structure for incremental SSSP in weighted directed graphs with total update time O ˜ ( n 2 log w ϵ O ( 1 ) ) which is near-optimal for very dense graphs. Here, w is the ratio of the largest weight in the graph to the smallest, and n is the number of vertices in the graph. Ref. [101] investigates the k-shortest paths in a dynamic road network and proposes a distributed algorithm for finding k-shortest paths in a dynamic graph. Current studies that employ hub labeling techniques for real-time shortest path counting are limited by their dependence on a pre-computed index, which cannot tackle frequent updates over dynamic graphs. To address this, Ref. [102] proposes a novel approach for maintaining the index in response to change in the graph structure and develops incremental and decremental update algorithms for inserting and deleting vertices/edges, respectively. The main idea of these two algorithms is to update only the affected vertices, significantly reducing the time cost. Both [102,105] study the maintenance of SD-Index, but the pruning conditions of [105] are insufficient. In addition, the method in [105] only records the shortest distance in the BFS process, not the number of shortest paths. Ref. [99] studies the exact fully dynamic shortest paths problem. It gives a Monte Carlo randomized fully dynamic reachability data structure processing single-edge updates in O ˜ ( n m ) worst-case time and queries in O ( m ) time.
Algorithm analysis. Many existing dynamic shortest path algorithms rely on index-based structures to efficiently maintain and update shortest path information as the graph changes. These indices are designed to reduce the need for recomputing shortest paths from scratch after each update, which is especially important in large-scale or highly dynamic graphs.

4.4.3. Reachability Queries

The above index maintenance algorithms of shortest distance queries can be easily adapted to answer reachability queries, i.e., if the returned shortest distance is infinity, the reachability query answers false. Otherwise, it answers true. In addition to these algorithms for shortest distance queries, there are also some dedicated index maintenance algorithms for efficiently answering reachability queries.
To efficiently manage large-scale graphs, Ref. [110] introduces a foundational framework on reachability indices for dynamic graphs. Ref. [110] introduces a total order labeling (TOL) framework that summarizes a family of reachability indices with the best performance among the existing techniques for static graphs. The work in [165] investigates reachability-preserving compression, a technique that produces compact graph representations while retaining all the necessary information for answering reachability queries, without requiring decompression. Notably, incRPCO guarantees optimal compression ratios in its output, whereas incRPCF prioritizes speed by only modifying nodes and edges that impact reachability relationships. Recent research by [166] introduces a specialized indexing structure known as the WTB-index, which is specifically optimized for reachability queries in such temporal bipartite graphs.

4.5. Graph Separation

Graph separation is a fundamental problem in graph theory and has significant applications in areas like communication networks, parallel processing, data mining and community discovery in social networks. Partitioning the graph for distributed systems and finding dense clusters are two key directions in this field.

4.5.1. Graph Partitioning

Effective problem decomposition plays a pivotal role in both distributed computing systems and the optimization of sequential processing. Among various decomposition strategies, graph partitioning has emerged as a particularly prominent approach. At its core, this technique involves splitting a graph into multiple subgraphs of approximately equal size while simultaneously reducing the number of connections between these partitions. This is a well-studied challenge that has attracted significant research attention [5].
Definition 15
(Graph Partitioning). Given a graph G = ( V , E ) and an integer k, graph partitioning is to divide V into k blocks of vertices V 1 , , V k such that V 1 V k = V and V i V j = for i , j [ 1 , k ] , i j , while simultaneously optimizing an objective function and maintaining balance: i { 1 , , k } : | V i | ( 1 + ϵ ) | V | / k for some ϵ 0 . The most common objective is to minimize the total cut Σ i < j | E i j | , where E i j = { { u , v } e : u V i , v V j } .
Recent research has increasingly focused on dynamic graph partitioning, recognizing its crucial role in the preprocessing stage of distributed graph processing systems. While traditional approaches primarily addressed static graphs, the growing need to handle evolving graph structures in distributed analytics has spurred significant interest in dynamic partitioning methods.
In response to this challenge, Ref. [111] introduces an adaptive partitioning algorithm specifically designed for dynamic graphs. This decentralized approach employs an iterative vertex migration strategy that operates from any initial partition configuration. LogGP [117] introduces an innovative partition refinement approach that leverages both historical partitioning data and real-time statistical log information. Hermes [24] presents an efficient local-view approach for dynamic graph repartitioning. The system focuses on progressively enhancing existing partitions by reducing edge-cuts while preserving near-perfect load balance. Building upon existing streaming techniques [116], Leopard [112] presents an innovative approach to dynamic graph partitioning. The algorithm models evolving graphs as transitional states within a single-pass partitioning framework, effectively adapting traditional one-pass heuristics to dynamic scenarios. Ref. [113] proposes an alternative to conventional single-vertex migration approaches.
Different from the above researches that focus on the practical performance of the dynamic graph partitioning algorithms in distributed graph analytic systems, Ref. [115] theoretically proves that the dynamic graph partitioning problem is NP-complete and unbounded. Due to the intractability and unboundedness of the problem, Ref. [115] proposes a notion of heuristic boundedness to characterize the effectiveness of incremental heuristic algorithms and devises corresponding heuristically bounded dynamic graph partitioning algorithms based on the existing batch graph partition algorithms, such as DNE [167], KGGGP [168], FENNEL [116], and HDRF [169].
Recently, starting from the focus and characteristics of different dynamic graph partitioning algorithms, Ref. [170] systematically introduces various algorithms that can be used to solve the dynamic graph partitioning problem.

4.5.2. Graph Clustering

Graph clustering involves grouping vertices into clusters based on their connectivity patterns. The goal is to identify dense subgraphs where vertices within a cluster are more densely connected to each other than to vertices outside the cluster. Graph clustering has numerous applications, including social network analysis, recommendation systems, and biological network analysis.
Definition 16
(Clustering). Given a graph G = ( V , E ) , a cluster C ∈ V is a non-empty subset of V, representing a group of “similar” vertices. These vertices are densely connected within the group but sparsely connected to those outside it.
SCAN, a fundamental structural graph clustering algorithm, serves as a cornerstone for graph data management and analysis. Despite its importance, computational intensity of the method creates significant runtime challenges, restricting its real-world adoption. To overcome this limitation, Ref. [120] developes anySCAN, an innovative interactive solution optimized for multicore processors. The study in [118] enhances the DynStrClu approximate clustering algorithm based on Jaccard similarity, addressing a key limitation of traditional SCAN clustering which requires careful parameter tuning for optimal results. The work presented in [119] introduces DPISCAN, a thread-level parallel processing approach implemented on Apache Spark’s distributed framework.
Algorithm analysis. We analyze different type of graph separation algorithms over dynamic graphs. As shown in Table 8, most algorithms support incremental dynamic graphs. For the time complexity, Ref. [113] has to check the set of candidate vertices for movement in partition P i . Additionally, for the time complexity of clustering, Ref. [118] returns clustering result satisfying the approximation probability 1 p f after up to M edge updates. In [119], δ is the communication overhead in the Apache Spark cluster, and T is the number of executor nodes in the Spark cluster.
Discussion of large-update scenarios. In our survey, we categorize dynamic graph algorithms into three paradigms based on how they handle updates: single update algorithms (process updates one-by-one), batch update algorithms (process grouped updates simultaneously), and streaming algorithms (process updates continuously as they arrive). Our analysis reveals that as the number of updates grows, computational costs increase significantly for both single update and batch update approaches. This scalability limitation motivates the need for streaming algorithms, which are specifically designed for dynamic graphs with continuous updates (referred to as “streaming graphs“). While our survey covers the existing single and batch algorithms, we identify a notable research gap in streaming dynamic graph algorithms. Current approaches often struggle to maintain efficiency under sustained high update rates.

5. Systems

Graph processing systems serve as a specialized computational framework for managing and analyzing massive graph-structured data. These platforms are specifically engineered to address the unique demands of processing extremely large graphs, including social networks, web connectivity graphs, and biological interaction networks that typically comprise billions of interconnected nodes and edges. By providing optimized storage and processing capabilities, such systems overcome the significant computational challenges inherent in working with graph data at scale.
The study in [171] introduces a distributed in-memory graph management system specifically designed for handling large-scale dynamically changing graphs while ensuring efficient query processing. STINGER (Spatio-Temporal Interaction Networks and Graph Extensible Representation) [122] represents an open-source, high-performance data structure specifically designed for dynamic graph analysis. Building on a block-linked list architecture, this framework allows for the gradual expansion of both vertices and edges through incremental block additions. Recognizing STINGER’s limitations in distributed environments, DISTINGER [123] is developed as an extension to enable cluster-based graph analytics. This enhanced version implements a master/slave architecture optimized for cluster deployment, incorporating hash-based partitioning and message batching techniques. DISTINGER maintains all native STINGER operations while adding distributed support for vertex and edge modifications across the computing cluster. The EAGr system introduced in [172] provides an efficient solution for processing numerous continuous neighborhood-based aggregate queries on large, rapidly changing graphs.
Effective workload distribution plays a crucial role in determining the overall performance of distributed graph processing systems. The dynamic nature of evolving graphs often creates significant workload imbalances, as certain vertices may experience substantially higher update frequencies than others during specific time intervals. To address this challenge, Ref. [121] introduces iGraph, a specialized system designed for efficient processing of continuously changing graphs while maintaining balanced workloads. The computational power of GPUs has been widely leveraged to speed up graph processing tasks. Addressing this opportunity, Ref. [124] introduces a GPU-optimized dynamic graph storage architecture designed for seamless integration with existing graph algorithms.

6. Future Work

Here, we explore the research opportunities for the future, which will promote the development of dynamic graph processing.

6.1. Optimizations for High Efficiency

While numerous algorithms currently exist for handling dynamic graphs, improving these algorithms’ time and space efficiency remains a critical objective as graph data scales and complexity increases. Future algorithms should aim to minimize resource requirements of update processing. Investigate which types of graph computations can be performed incrementally, allowing for partial updates without recalculating from scratch.

6.2. Dynamic Algorithms for Various Types of Graphs

Most existing works focus on general graphs without any detailed informations such as labels, attributes, and signs. This becomes an urgent issue for dynamic algorithms on various types of graphs.
-
Attributed graphs—extend algorithms to account for attributed graphs, which are critical for applications such as social network analysis where metadata can provide important context.
-
Uncertain graphs—develop methods that can handle uncertainty in graph data, such as probabilistic edges, which are common in real-world networks like communication or transportation systems.
-
Signed graphs—incorporate positive and negative relationships between nodes into the analysis, which is essential for understanding dynamics in social networks, recommendation systems, and more.
-
Temporal graphs—analyze graphs that change over time, capturing the evolution of relationships and identifying patterns or anomalies that occur at different vertices in time.

6.3. Parallel and Distributed Approaches for Large-Scale Graphs

Further optimized algorithms for different update scenarios such as in-memory updates, parallel updates, and distributed updates play a crucial role in various application contexts. For instance, parallel Processing utilizes multi-core processors and GPUs to perform multiple graph operations simultaneously, which can significantly accelerate processing speeds. Besides, distributed computing on graphs leverages frameworks like Pregel to distribute the graph processing task across a cluster of machines, enabling the handling of extremely large datasets.

6.4. Efficient Approaches for Streaming Graphs

Streaming graph algorithms are an emerging and important area of research, especially as real-world graphs (e.g., social networks, communication networks, and sensor networks) increasingly involve dynamic changes such as the arrival of new vertices and edges over time. While there has been significant progress in dynamic graph algorithms, streaming graph algorithms are still relatively underexplored. By focusing on problems like community detection, path planning, and clustering, and leveraging approximate approaches to balance efficiency and accuracy, researchers can develop scalable and practical solutions for dynamic graphs. Future work should also explore theoretical foundations, adaptive algorithms, and integration with real-world systems to further advance this field.

7. Conclusions

As real-world networks continue to grow in size and complexity, dynamic graph algorithms will play an increasingly vital role in real-time analytics such as anomaly detection and risk assessment and recommendation, where responsiveness is critical. In this paper, we conduct an extensive survey on recent advances in efficient dynamic graph processing. We systematically review over 170 research articles, focusing on the latest developments in handling dynamic graphs. We first analyze and compare different computational complexity models designed to evaluate algorithm efficiency in dynamic graphs. Then, we classify studies on dynamic graph processing according to different problems, including centrality, coloring, cohesive subgraph, path traversal, and graph separation. For each class of works, we review the representative studies addressing various types of graph problems under different update types. These approaches commonly leverage localized re-computation, parallel, and distributed processing, and adaptive data structures to improve overall performance.
However, limitations of existing works still persist, particularly in scenarios involving large-scale, high-frequency updates or wholesale graph restructuring, where some algorithms still suffer from high computational complexity. Efficiency is highly dependent on factors such as update patterns, graph size, and structural properties. Future research directions should focus on (1) optimizations for high efficiency, tightening worst-case guarantees for dynamic graph problems; (2) dynamic algorithms for various types of graphs, such as attributed, uncertain, and temporal graphs; (3) parallel and distributed approaches for large-scale graphs, leveraging GPU acceleration and distributed frameworks; (4) efficient approaches for streaming graphs, developing algorithms that efficiently handle continuous, high-velocity updates. Bridging the gap between theoretical advances and practical implementations will be crucial for unlocking their full potential in more realistic applications.

Author Contributions

Conceptualization, Z.C. and L.Y.; methodology, Z.C., W.Z. and L.Y.; software, K.L.; validation, K.L., L.Y. and Z.Y.; formal analysis, Z.C.; investigation, Z.C. and K.L.; data curation, Z.C. and K.L.; writing—original draft preparation, Z.C. and L.Y.; writing—review and editing, Z.C., L.Y., W.Z. and Z.Y.; visualization, L.Y.; supervision, Z.C.; project administration, Z.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by National Key R&D Program of China 2022YFF0712100, National Natural Science Foundation of China NSFC62472225, NSFC62402216, Natural Science Foundation of Jiangsu Province BK20241381, JSTJ-2023-XH055.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Shen, Z.; Fei, J.; Xia, Z. SNGPLDP: Social network graph generation based on personalised local differential privacy. Int. J. Auton. Adapt. Commun. Syst. 2024, 17, 159–180. [Google Scholar] [CrossRef]
  2. Berners-Lee, T.; Fischetti, M. Weaving the Web—The Original Design and Ultimate Destiny of the World Wide Web by Its Inventor; HarperBusiness: New York, NY, USA, 2000. [Google Scholar]
  3. Brandão, M.A.; Moro, M.M.; Lopes, G.R.; de Oliveira, J.P.M. Using link semantics to recommend collaborations in academic social networks. In Proceedings of the WWW, Rio de Janeiro, Brazil, 13–17 May 2013; pp. 833–840. [Google Scholar]
  4. Mukhtar, S. Protein-Protein Interactions: Methods and Protocols; Methods in Molecular Biology; Springer: New York, NY, USA, 2023. [Google Scholar]
  5. Buluç, A.; Meyerhenke, H.; Safro, I.; Sanders, P.; Schulz, C. Recent Advances in Graph Partitioning. In Algorithm Engineering—Selected Results and Surveys; Springer: Cham, Switzerland, 2016; Volume 9220, pp. 117–158. [Google Scholar]
  6. Aynaud, T.; Guillaume, J. Static community detection algorithms for evolving networks. In Proceedings of the WiOpt, Avignon, France, 31 May–4 June 2010; pp. 513–519. [Google Scholar]
  7. Chen, Z.; Yuan, L.; Lin, X.; Qin, L.; Yang, J. Efficient Maximal Balanced Clique Enumeration in Signed Networks. In Proceedings of the WWW, Taipei, China, 20–24 April 2020; pp. 339–349. [Google Scholar]
  8. Mittal, A.; Jain, P.; Mathur, S.; Bhatt, P. Graph Coloring with Minimum Colors: An Easy Approach. In Proceedings of the International Conference on Communication Systems and Network Technologies, Katra, India, 3–5 June 2011; pp. 638–641. [Google Scholar]
  9. Ghaffari, M.; Su, H.H. Distributed degree splitting, edge coloring, and orientations. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, Barcelona, Spain, 16–19 January 2017; pp. 2505–2523. [Google Scholar]
  10. Riedy, E.J.; Meyerhenke, H.; Ediger, D.; Bader, D.A. Parallel Community Detection for Massive Graphs. In Proceedings of the PPAM, Torun, Poland, 11–14 September 2011; Volume 7203, pp. 286–296. [Google Scholar]
  11. de Barros, C.D.T.; Mendonça, M.R.F.; Vieira, A.B.; Ziviani, A. A Survey on Embedding Dynamic Graphs. ACM Comput. Surv. 2023, 55, 10:1–10:37. [Google Scholar] [CrossRef]
  12. Kazemi, S.M.; Goel, R.; Jain, K.; Kobyzev, I.; Sethi, A.; Forsyth, P.; Poupart, P. Representation Learning for Dynamic Graphs: A Survey. J. Mach. Learn. Res. 2020, 21, 70:1–70:73. [Google Scholar]
  13. Fournier-Viger, P.; He, G.; Cheng, C.; Li, J.; Zhou, M.; Lin, J.C.W.; Yun, U. A survey of pattern mining in dynamic graphs. Wiley Interdiscip. Rev. Data Min. Knowl. Discov. 2020, 10, e1372. [Google Scholar] [CrossRef]
  14. Monical, C.; Stonedahl, F. Static vs. dynamic populations in genetic algorithms for coloring a dynamic graph. In Proceedings of the GECCO, Genetic and Evolutionary Computation Conference, Vancouver, BC, Canada, 12–16 July 2018; pp. 469–476. [Google Scholar]
  15. Li, C.; Han, J.; He, G.; Jin, X.; Sun, Y.; Yu, Y.; Wu, T. Fast computation of SimRank for static and dynamic information networks. In Proceedings of the EDBT, Lausanne, Switzerland, 22–26 March 2010; pp. 465–476. [Google Scholar]
  16. Das, A.; Sanei-Mehri, S.; Tirthapura, S. Shared-memory Parallel Maximal Clique Enumeration from Static and Dynamic Graphs. ACM Trans. Parallel Comput. 2020, 7, 5:1–5:28. [Google Scholar] [CrossRef]
  17. Lee, M.; Lee, J.; Park, J.Y.; Choi, R.H.; Chung, C. QUBE: A quick algorithm for updating betweenness centrality. In Proceedings of the WWW, Lyon, France, 16–20 April 2012; pp. 351–360. [Google Scholar]
  18. Green, O.; McColl, R.; Bader, D.A. A Fast Algorithm for Streaming Betweenness Centrality. In Proceedings of the SocialCom/PASSAT, Amsterdam, The Netherlands, 3–5 September 2012; pp. 11–20. [Google Scholar]
  19. Lin, Z.; Zhang, F.; Lin, X.; Zhang, W.; Tian, Z. Hierarchical Core Maintenance on Large Dynamic Graphs. Proc. VLDB Endow. 2021, 14, 757–770. [Google Scholar] [CrossRef]
  20. Yu, D.; Wang, N.; Luo, Q.; Li, F.; Yu, J.; Cheng, X.; Cai, Z. Fast Core Maintenance in Dynamic Graphs. IEEE Trans. Comput. Soc. Syst. 2022, 9, 710–723. [Google Scholar] [CrossRef]
  21. Zhang, Y.; Yu, J.X. Unboundedness and Efficiency of Truss Maintenance in Evolving Graphs. In Proceedings of the SIGMOD, Amsterdam, The Netherlands, 30 June–5 July 2019; pp. 1024–1041. [Google Scholar]
  22. Vieira, M.V.; Fonseca, B.M.; Damazio, R.; Golgher, P.B.; Reis, D.d.C.; Ribeiro-Neto, B. Efficient search ranking in social networks. In Proceedings of the Sixteenth ACM Conference on Conference on Information and Knowledge Management, Lisbon, Portugal, 6–10 November 2007; pp. 563–572. [Google Scholar]
  23. Wehmuth, K.; Ziviani, A. Daccer: Distributed assessment of the closeness centrality ranking in complex networks. Comput. Netw. 2013, 57, 2536–2548. [Google Scholar] [CrossRef]
  24. Nicoara, D.; Kamali, S.; Daudjee, K.; Chen, L. Hermes: Dynamic Partitioning for Distributed Social Network Graph Databases. In Proceedings of the EDBT, Brussels, Belgium, 23–27 March 2015; pp. 25–36. [Google Scholar]
  25. Lee, M.; Choi, S.; Chung, C. Efficient algorithms for updating betweenness centrality in fully dynamic graphs. Inf. Sci. 2016, 326, 278–296. [Google Scholar] [CrossRef]
  26. Tripathy, A.; Green, O. Scaling betweenness centrality in dynamic graphs. In Proceedings of the HPEC, Waltham, MA, USA, 25–27 September 2018; pp. 1–7. [Google Scholar]
  27. Narayanan, S. The Betweenness Centrality of Biological Networks. Ph.D. Thesis, Virginia Tech, Blacksburg, VA, USA, 2005. [Google Scholar]
  28. Liu, B.; Yuan, L.; Lin, X.; Qin, L.; Zhang, W.; Zhou, J. Efficient (α, β)-core computation in bipartite graphs. VLDB J. 2020, 29, 1075–1099. [Google Scholar] [CrossRef]
  29. Cela, A.; Jurik, T.; Hamouche, R.; Natowicz, R.; Reama, A.; Niculescu, S.I.; Julien, J. Energy optimal real-time navigation system. IEEE Intell. Transp. Syst. Mag. 2014, 6, 66–79. [Google Scholar]
  30. Vilella, S.; Capozzi, A.; Fornasiero, M.; Moncalvo, D.; Ricci, V.; Ronchiadin, S.; Ruffo, G. Weirdnodes: Centrality based anomaly detection on temporal networks for the anti-financial crime domain. Appl. Netw. Sci. 2025, 10, 14. [Google Scholar] [CrossRef]
  31. Li, X.; Cao, X.; Qiu, X.; Zhao, J.; Zheng, J. Intelligent anti-money laundering solution based upon novel community detection in massive transaction networks on spark. In Proceedings of the CBD, Shanghai, China, 13–16 August 2017; pp. 176–181. [Google Scholar]
  32. Dreżewski, R.; Sepielak, J.; Filipkowski, W. The application of social network analysis algorithms in a system supporting money laundering detection. Inf. Sci. 2015, 295, 18–32. [Google Scholar] [CrossRef]
  33. Ansari, Y. Multi-Cluster Graph (MCG): A Novel Clustering-Based Multi-Relation Graph Neural Networks for Stock Price Forecasting. IEEE Access 2024, 12, 154482–154502. [Google Scholar] [CrossRef]
  34. Facebook. Facebook Newsroom. 2023. Available online: https://about.fb.com/news/ (accessed on 20 February 2025).
  35. Twitter. Twitter Blog. 2023. Available online: https://blog.twitter.com/ (accessed on 20 February 2025).
  36. Lyu, B.; Qin, L.; Lin, X.; Zhang, Y.; Qian, Z.; Zhou, J. Maximum and top-k diversified biclique search at scale. VLDB J. 2022, 31, 1365–1389. [Google Scholar] [CrossRef]
  37. Shukla, K.; Regunta, S.C.; Tondomker, S.H.; Kothapalli, K. Efficient parallel algorithms for betweenness-and closeness-centrality in dynamic graphs. In Proceedings of the ICS, Barcelona, Spain, 29 June–2 July 2020; pp. 1–12. [Google Scholar]
  38. Hayashi, T.; Akiba, T.; Yoshida, Y. Fully Dynamic Betweenness Centrality Maintenance on Massive Networks. Proc. VLDB Endow. 2015, 9, 48–59. [Google Scholar] [CrossRef]
  39. Jamour, F.T.; Skiadopoulos, S.; Kalnis, P. Parallel Algorithm for Incremental Betweenness Centrality on Large Graphs. IEEE Trans. Parallel Distrib. Syst. 2018, 29, 659–672. [Google Scholar] [CrossRef]
  40. Kas, M.; Wachs, M.; Carley, K.M.; Carley, L.R. Incremental algorithm for updating betweenness centrality in dynamically growing networks. In Proceedings of the ASONAM, Niagara Falls, ON, Canada, 25–28 August 2013; pp. 33–40. [Google Scholar]
  41. Bergamini, E.; Meyerhenke, H.; Staudt, C. Approximating Betweenness Centrality in Large Evolving Networks. In Proceedings of the ALENEX, San Diego, CA, USA, 5 January 2015; pp. 133–146. [Google Scholar]
  42. Simard, F.; Magnien, C.; Latapy, M. Computing Betweenness Centrality in Link Streams. J. Graph Algorithms Appl. 2023, 27, 195–217. [Google Scholar] [CrossRef]
  43. Goel, K.; Singh, R.R.; Iyengar, S.; Gupta, S. A Faster Algorithm to Update Betweenness Centrality after Node Alteration. In Proceedings of the WAW, Cambridge, MA, USA, 14–15 December 2013; Volume 8305, pp. 170–184. [Google Scholar]
  44. Kas, M.; Carley, K.M.; Carley, L.R. Incremental closeness centrality for dynamically changing social networks. In Proceedings of the ASONAM, Niagara Falls, ON, Canada, 25–28 August 2013; pp. 1250–1258. [Google Scholar]
  45. Sariyüce, A.E.; Saule, E.; Kaya, K.; Çatalyürek, Ü.V. STREAMER: A distributed framework for incremental closeness centrality computation. In Proceedings of the CLUSTER, Indianapolis, IN, USA, 23–27 September 2013; pp. 1–8. [Google Scholar]
  46. Yen, C.; Yeh, M.; Chen, M. An Efficient Approach to Updating Closeness Centrality and Average Path Length in Dynamic Networks. In Proceedings of the ICDM, Dallas, TX, USA, 7–10 December 2013; pp. 867–876. [Google Scholar]
  47. Shao, Z.; Guo, N.; Gu, Y.; Wang, Z.; Li, F.; Yu, G. Efficient closeness centrality computation for dynamic graphs. In Proceedings of the DASFAA, Jeju, Republic of Korea, 24–27 September 2020; pp. 534–550. [Google Scholar]
  48. Li, W.; Qiao, M.; Qin, L.; Zhang, Y.; Chang, L.; Lin, X. Eccentricities on small-world networks. VLDB J. 2019, 28, 765–792. [Google Scholar] [CrossRef]
  49. Solomon, S.; Wein, N. Improved dynamic graph coloring. ACM Trans. Algorithms (TALG) 2020, 16, 41. [Google Scholar] [CrossRef]
  50. Sallinen, S.; Iwabuchi, K.; Poudel, S.; Gokhale, M.B.; Ripeanu, M.; Pearce, R.A. Graph colouring as a challenge problem for dynamic graph processing on distributed systems. In Proceedings of the SC, Salt Lake City, UT, USA, 13–18 November 2016; pp. 347–358. [Google Scholar]
  51. Preuveneers, D.; Berbers, Y. ACODYGRA: An agent algorithm for coloring dynamic graphs. Symb. Numer. Algorithms Sci. Comput. 2004, 6, 381–390. [Google Scholar]
  52. Barba, L.; Cardinal, J.; Korman, M.; Langerman, S.; van Renssen, A.; Roeloffzen, M.; Verdonschot, S. Dynamic Graph Coloring. Algorithmica 2019, 81, 1319–1341. [Google Scholar] [CrossRef]
  53. Yuan, L.; Qin, L.; Lin, X.; Chang, L.; Zhang, W. Effective and Efficient Dynamic Graph Coloring. Proc. VLDB Endow. 2017, 11, 338–351. [Google Scholar] [CrossRef]
  54. Bhattacharya, S.; Chakrabarty, D.; Henzinger, M.; Nanongkai, D. Dynamic algorithms for graph coloring. In Proceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms, New Orleans, LA, USA, 7–10 January 2018; pp. 1–20. [Google Scholar]
  55. Barenboim, L.; Maimon, T. Fully-dynamic graph algorithms with sublinear time inspired by distributed computing. Procedia Comput. Sci. 2017, 108, 89–98. [Google Scholar] [CrossRef]
  56. Huang, Z.; Yuan, L.; Sui, H.; Chen, Z.; Yang, S.; Yang, J. Edge Coloring on Dynamic Graphs. In Proceedings of the DASFAA, Tianjin, China, 17–20 April 2023; pp. 137–153. [Google Scholar]
  57. Duan, R.; He, H.; Zhang, T. Dynamic edge coloring with improved approximation. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, San Diego, CA, USA, 6–9 January 2019; pp. 1937–1945. [Google Scholar]
  58. Christiansen, A.B.G. The power of multi-step vizing chains. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, Orlando, FL, USA, 20–23 June 2023; pp. 1013–1026. [Google Scholar]
  59. Bhattacharya, S.; Costa, M.; Panski, N.; Solomon, S. Nibbling at long cycles: Dynamic (and static) edge coloring in optimal time. In Proceedings of the 2024 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), Alexandria, VA, USA, 7–10 January 2024; pp. 3393–3440. [Google Scholar]
  60. Bhattacharya, S.; Costa, M.; Panski, N.; Solomon, S. Arboricity-dependent algorithms for edge coloring. arXiv 2023, arXiv:2311.08367. [Google Scholar]
  61. Christiansen, A.B. Deterministic Dynamic Edge-Colouring. arXiv 2024, arXiv:2402.13139. [Google Scholar]
  62. Stix, V. Finding all maximal cliques in dynamic graphs. Comput. Optim. Appl. 2004, 27, 173–186. [Google Scholar] [CrossRef]
  63. Das, A.; Svendsen, M.; Tirthapura, S. Incremental maintenance of maximal cliques in a dynamic graph. VLDB J. 2019, 28, 351–375. [Google Scholar] [CrossRef]
  64. Yu, T.; Jiang, T.; Bah, M.J.; Zhao, C.; Huang, H.; Liu, M.; Zhou, S.; Li, Z.; Zhang, J. Incremental Maximal Clique Enumeration for Hybrid Edge Changes in Large Dynamic Graphs. IEEE Trans. Knowl. Data Eng. 2024, 36, 1650–1666. [Google Scholar] [CrossRef]
  65. Sun, S.; Wang, Y.; Liao, W.; Wang, W. Mining Maximal Cliques on Dynamic Graphs Efficiently by Local Strategies. In Proceedings of the ICDE, San Diego, CA, USA, 19–22 April 2017; pp. 115–118. [Google Scholar]
  66. Das, A.; Tirthapura, S. Incremental Maintenance of Maximal Bicliques in a Dynamic Bipartite Graph. IEEE Trans. Multi Scale Comput. Syst. 2018, 4, 231–242. [Google Scholar] [CrossRef]
  67. Wang, R.; Liao, M.; Qin, C. An Efficient Algorithm for Enumerating Maximal Bicliques from a Dynamically Growing Graph. In Proceedings of the ICNC-FSKD, Kunming, China, 20–22 July 2019; pp. 329–337. [Google Scholar]
  68. Aksu, H.; Canim, M.; Chang, Y.; Korpeoglu, I.; Ulusoy, Ö. Distributed $k$ -Core View Materializationand Maintenance for Large Dynamic Graphs. IEEE Trans. Knowl. Data Eng. 2014, 26, 2439–2452. [Google Scholar] [CrossRef]
  69. Hua, Q.; Shi, Y.; Yu, D.; Jin, H.; Yu, J.; Cai, Z.; Cheng, X.; Chen, H. Faster Parallel Core Maintenance Algorithms in Dynamic Graphs. IEEE Trans. Parallel Distrib. Syst. 2020, 31, 1287–1300. [Google Scholar] [CrossRef]
  70. Sariyüce, A.E.; Gedik, B.; Jacques-Silva, G.; Wu, K.; Çatalyürek, Ü.V. Incremental k-core decomposition: Algorithms and evaluation. VLDB J. 2016, 25, 425–447. [Google Scholar] [CrossRef]
  71. Wang, N.; Yu, D.; Jin, H.; Qian, C.; Xie, X.; Hua, Q. Parallel Algorithm for Core Maintenance in Dynamic Graphs. In Proceedings of the ICDCS, Atlanta, GA, USA, 5–8 June 2017; pp. 2366–2371. [Google Scholar]
  72. Jin, H.; Wang, N.; Yu, D.; Hua, Q.; Shi, X.; Xie, X. Core Maintenance in Dynamic Graphs: A Parallel Approach Based on Matching. IEEE Trans. Parallel Distrib. Syst. 2018, 29, 2416–2428. [Google Scholar] [CrossRef]
  73. Aridhi, S.; Brugnara, M.; Montresor, A.; Velegrakis, Y. Distributed k-core decomposition and maintenance in large dynamic graphs. In Proceedings of the DEBS, Irvine, CA, USA, 20–24 June 2016; pp. 161–168. [Google Scholar]
  74. Li, R.; Yu, J.X.; Mao, R. Efficient Core Maintenance in Large Dynamic Graphs. IEEE Trans. Knowl. Data Eng. 2014, 26, 2453–2465. [Google Scholar] [CrossRef]
  75. Bai, W.; Jiang, Y.; Tang, Y.; Li, Y. Parallel Core Maintenance of Dynamic Graphs. IEEE Trans. Knowl. Data Eng. 2023, 35, 8919–8933. [Google Scholar] [CrossRef]
  76. Guo, B.; Sekerinski, E. Parallel Order-Based Core Maintenance in Dynamic Graphs. In Proceedings of the ICPP, Salt Lake City, UT, USA, 7–10 August 2023; pp. 122–131. [Google Scholar]
  77. Luo, Q.; Yu, D.; Cheng, X.; Cai, Z.; Yu, J.; Lv, W. Batch Processing for Truss Maintenance in Large Dynamic Graphs. IEEE Trans. Comput. Soc. Syst. 2020, 7, 1435–1446. [Google Scholar] [CrossRef]
  78. Luo, Q.; Yu, D.; Cheng, X.; Sheng, H.; Lyu, W. Exploring Truss Maintenance in Fully Dynamic Graphs: A Mixed Structure-Based Approach. IEEE Trans. Comput. 2023, 72, 707–718. [Google Scholar] [CrossRef]
  79. Tian, A.; Zhou, A.; Wang, Y.; Chen, L. Maximal D-truss Search in Dynamic Directed Graphs. Proc. VLDB Endow. 2023, 16, 2199–2211. [Google Scholar] [CrossRef]
  80. Ebadian, S.; Huang, X. Fast Algorithm for K-Truss Discovery on Public-Private Graphs. In Proceedings of the IJCAI, Macao, China, 10–16 August 2019; pp. 2258–2264. [Google Scholar]
  81. Li, L.; Jiang, Y. Parallel Truss Maintenance of Dynamic Graphs. In Proceedings of the ICPADS, Danzhou, China, 17–21 December 2023; pp. 208–215. [Google Scholar]
  82. Huang, X.; Cheng, H.; Qin, L.; Tian, W.; Yu, J.X. Querying k-truss community in large and dynamic graphs. In Proceedings of the SIGMOD, Snowbird, UT, USA, 22–27 June 2014; pp. 1311–1322. [Google Scholar]
  83. Sahu, S.; Kothapalli, K.; Banerjee, D.S. Shared-Memory Parallel Algorithms for Community Detection in Dynamic Graphs. In Proceedings of the IPDPS, San Francisco, CA, USA, 27–31 May 2024; pp. 250–259. [Google Scholar]
  84. Zakrzewska, A.; Bader, D.A. A dynamic algorithm for local community detection in graphs. In Proceedings of the ASONAM, Paris, France, 25–28 August 2015; pp. 559–564. [Google Scholar]
  85. Zakrzewska, A.; Bader, D.A. Fast incremental community detection on dynamic graphs. In Proceedings of the PPAM, Krakow, Poland, 6–9 September 2015; pp. 207–217. [Google Scholar]
  86. Shang, J.; Liu, L.; Xie, F.; Chen, Z.; Miao, J.; Fang, X.; Wu, C. A Real-Time Detecting Algorithm for Tracking Community Structure of Dynamic Networks. arXiv 2014, arXiv:1407.2683. [Google Scholar]
  87. Nathan, E.; Zakrzewska, A.; Riedy, E.J.; Bader, D.A. Local Community Detection in Dynamic Graphs Using Personalized Centrality. Algorithms 2017, 10, 102. [Google Scholar] [CrossRef]
  88. Duan, D.; Li, Y.; Jin, Y.; Lu, Z. Community mining on dynamic weighted directed graphs. In Proceedings of the CIKM-CNIKM, Hong Kong, China, 6 November 2009; pp. 11–18. [Google Scholar]
  89. Wang, C.D.; Lai, J.H.; Yu, P.S. Dynamic community detection in weighted graph streams. In Proceedings of the SDM, Suzhou, China, 23–25 September 2013; pp. 151–161. [Google Scholar]
  90. Yang, B.; Wen, D.; Qin, L.; Zhang, Y.; Wang, X.; Lin, X. Fully Dynamic Depth-First Search in Directed Graphs. Proc. VLDB Endow. 2019, 13, 142–154. [Google Scholar] [CrossRef]
  91. Chen, L.; Duan, R.; Wang, R.; Zhang, H.; Zhang, T. An Improved Algorithm for Incremental DFS Tree in Undirected Graphs. In Proceedings of the SWAT, Malmö, Sweden, 18–20 June 2018; pp. 16:1–16:12. [Google Scholar]
  92. Nakamura, K.; Sadakane, K. Space-Efficient Fully Dynamic DFS in Undirected Graphs. Algorithms 2019, 12, 52. [Google Scholar] [CrossRef]
  93. Baswana, S.; Gupta, S.K.; Tulsyan, A. Fault tolerant and fully dynamic DFS in undirected graphs: Simple yet efficient. arXiv 2018, arXiv:1810.01726. [Google Scholar]
  94. Baswana, S.; Chaudhury, S.R.; Choudhary, K.; Khan, S. Dynamic DFS in undirected graphs: Breaking the O (m) barrier. In Proceedings of the SODA, Arlington, VA, USA, 10–12 January 2016; pp. 730–739. [Google Scholar]
  95. Franciosa, P.G.; Gambosi, G.; Nanni, U. The Incremental Maintenance of a Depth-First-Search Tree in Directed Acyclic Graphs. Inf. Process. Lett. 1997, 61, 113–120. [Google Scholar] [CrossRef]
  96. Baswana, S.; Khan, S. Incremental algorithm for maintaining a DFS tree for undirected graphs. Algorithmica 2017, 79, 466–483. [Google Scholar] [CrossRef]
  97. Baswana, S.; Goel, A.; Khan, S. Incremental DFS algorithms: A theoretical and experimental study. In Proceedings of the SODA, New Orleans, LA, USA, 7–10 January 2018; pp. 53–72. [Google Scholar]
  98. Baswana, S.; Choudhary, K. On dynamic DFS tree in directed graphs. In Proceedings of the MFCS, Milan, Italy, 24–28 August 2015; pp. 102–114. [Google Scholar]
  99. Karczmarz, A.; Sankowski, P. Fully Dynamic Shortest Paths and Reachability in Sparse Digraphs. In Proceedings of the ICALP, Paderborn, Germany, 10–14 July 2023; pp. 84:1–84:20. [Google Scholar]
  100. D’Angelo, G.; D’Emidio, M.; Frigioni, D. Fully Dynamic 2-Hop Cover Labeling. ACM J. Exp. Algorithmics 2019, 24, 1.6:1–1.6:36. [Google Scholar] [CrossRef]
  101. Yu, Z.; Yu, X.; Koudas, N.; Chen, Y.; Liu, Y. A Distributed Solution for Efficient K Shortest Paths Computation Over Dynamic Road Networks. IEEE Trans. Knowl. Data Eng. 2024, 36, 2759–2773. [Google Scholar] [CrossRef]
  102. Feng, Q.; Peng, Y.; Zhang, W.; Lin, X.; Zhang, Y. DSPC: Efficiently Answering Shortest Path Counting on Dynamic Graphs. In Proceedings of the EDBT, Paestum, Italy, 25–28 March 2024; pp. 116–128. [Google Scholar]
  103. Probst Gutenberg, M.; Vassilevska Williams, V.; Wein, N. New algorithms and hardness for incremental single-source shortest paths in directed graphs. In Proceedings of the STOC, Chicago, IL, USA, 22–26 June 2020; pp. 153–166. [Google Scholar]
  104. Greco, S.; Molinaro, C.; Pulice, C. Efficient Maintenance of Shortest Distances in Dynamic Graphs. IEEE Trans. Knowl. Data Eng. 2018, 30, 474–487. [Google Scholar] [CrossRef]
  105. Akiba, T.; Iwata, Y.; Yoshida, Y. Dynamic and historical shortest-path distance queries on large evolving networks by pruned landmark labeling. In Proceedings of the WWW, Seoul, Republic of Korea, 7–11 April 2014; pp. 237–248. [Google Scholar]
  106. Lin, Y.; Chen, X.; Lui, J.C. I/O efficient algorithms for exact distance queries on disk-resident dynamic graphs. In Proceedings of the ASONAM, Paris, France, 25–28 August 2015; pp. 440–447. [Google Scholar]
  107. Chan, E.P.F.; Yang, Y. Shortest Path Tree Computation in Dynamic Graphs. IEEE Trans. Comput. 2009, 58, 541–557. [Google Scholar] [CrossRef]
  108. Aioanei, D. Lazy Shortest Path Computation in Dynamic graphs. Comput. Sci. 2012, 13, 113–138. [Google Scholar] [CrossRef]
  109. Qin, Y.; Sheng, Q.Z.; Falkner, N.J.G.; Yao, L.; Parkinson, S. Efficient computation of distance labeling for decremental updates in large dynamic graphs. World Wide Web 2017, 20, 915–937. [Google Scholar] [CrossRef]
  110. Zhu, A.D.; Lin, W.; Wang, S.; Xiao, X. Reachability queries on large dynamic graphs: A total order approach. In Proceedings of the SIGMOD, Snowbird, UT, USA, 22–27 June 2014; pp. 1323–1334. [Google Scholar]
  111. Vaquero, L.; Cuadrado, F.; Logothetis, D.; Martella, C. Adaptive partitioning for large-scale dynamic graphs. In Proceedings of the SOCC, Santa Clara, CA, USA, 1–3 October 2013; pp. 1–2. [Google Scholar]
  112. Huang, J.; Abadi, D. LEOPARD: Lightweight Edge-Oriented Partitioning and Replication for Dynamic Graphs. Proc. VLDB Endow. 2016, 9, 540–551. [Google Scholar] [CrossRef]
  113. Li, H.; Yuan, H.; Huang, J.; Cui, J.; Yoo, J. Dynamic graph repartitioning: From single vertex to vertex group. In Proceedings of the DASFAA, Jeju, Republic of Korea, 24–27 September 2020; pp. 482–497. [Google Scholar]
  114. He, Y.; Coutino, M.; Isufi, E.; Leus, G. Dynamic Bi-Colored Graph Partitioning. In Proceedings of the EUSIPCO, Belgrade, Serbia, 29 August–2 September 2022; pp. 692–696. [Google Scholar]
  115. Fan, W.; Liu, M.; Tian, C.; Xu, R.; Zhou, J. Incrementalization of Graph Partitioning Algorithms. Proc. VLDB Endow. 2020, 13, 1261–1274. [Google Scholar] [CrossRef]
  116. Tsourakakis, C.; Gkantsidis, C.; Radunovic, B.; Vojnovic, M. Fennel: Streaming graph partitioning for massive scale graphs. In Proceedings of the WSDM, New York, NY, USA, 24–28 February 2014; pp. 333–342. [Google Scholar]
  117. Xu, N.; Chen, L.; Cui, B. LogGP: A Log-based Dynamic Graph Partitioning Method. Proc. VLDB Endow. 2014, 7, 1917–1928. [Google Scholar] [CrossRef]
  118. Zhang, F.; Wang, S. Effective Indexing for Dynamic Structural Graph Clustering. Proc. VLDB Endow. 2022, 15, 2908–2920. [Google Scholar] [CrossRef]
  119. Kumar, D.K.S.; D’Mello, D.A. DPISCAN: Distributed and parallel architecture with indexing for structural clustering of massive dynamic graphs. Int. J. Data Sci. Anal. 2022, 13, 199–223. [Google Scholar] [CrossRef]
  120. Mai, S.T.; Amer-Yahia, S.; Assent, I.; Birk, M.S.; Dieu, M.S.; Jacobsen, J.; Kristensen, J. Scalable Interactive Dynamic Graph Clustering on Multicore CPUs. IEEE Trans. Knowl. Data Eng. 2019, 31, 1239–1252. [Google Scholar] [CrossRef]
  121. Ju, W.; Li, J.; Yu, W.; Zhang, R. iGraph: An incremental data processing system for dynamic graph. Front. Comput. Sci. 2016, 10, 462–476. [Google Scholar] [CrossRef]
  122. Ediger, D.; McColl, R.; Riedy, J.; Bader, D.A. Stinger: High performance data structure for streaming graphs. In Proceedings of the HPEC, Waltham, MA, USA, 10–12 September 2012; pp. 1–5. [Google Scholar]
  123. Feng, G.; Meng, X.; Ammar, K. DISTINGER: A distributed graph data structure for massive dynamic graph processing. In Proceedings of the IEEE Big Data, Santa Clara, CA, USA, 29 October–1 November 2015; pp. 1814–1822. [Google Scholar]
  124. Sha, M.; Li, Y.; He, B.; Tan, K. Accelerating Dynamic Graph Analytics on GPUs. Proc. VLDB Endow. 2017, 11, 107–120. [Google Scholar] [CrossRef]
  125. Ekle, O.A.; Eberle, W. Anomaly Detection in Dynamic Graphs: A Comprehensive Survey. ACM Trans. Knowl. Discov. Data 2024, 18, 192:1–192:44. [Google Scholar] [CrossRef]
  126. Gao, H.; Liao, X.; Shao, Z.; Li, K.; Chen, J.; Jin, H. A survey on dynamic graph processing on GPUs: Concepts, terminologies and systems. Front. Comput. Sci. 2024, 18, 184106. [Google Scholar] [CrossRef]
  127. Hanauer, K.; Henzinger, M.; Schulz, C. Recent advances in fully dynamic graph algorithms—A quick reference guide. ACM J. Exp. Algorithmics 2022, 27, 1–45. [Google Scholar] [CrossRef]
  128. Ramalingam, G.; Reps, T.W. On the Computational Complexity of Dynamic Graph Problems. Theor. Comput. Sci. 1996, 158, 233–277. [Google Scholar] [CrossRef]
  129. Teitelbaum, T.; Reps, T. The Cornell program synthesizer: A syntax-directed programming environment. Commun. ACM 1981, 24, 563–573. [Google Scholar] [CrossRef]
  130. Fan, W.; Hu, C.; Tian, C. Incremental graph computations: Doable and undoable. In Proceedings of the SIGMOD, Chicago, IL, USA, 14–19 May 2017; pp. 155–169. [Google Scholar]
  131. Fan, W.; Wang, X.; Wu, Y. Incremental graph pattern matching. ACM Trans. Database Syst. 2013, 38, 18:1–18:47. [Google Scholar] [CrossRef]
  132. Ramalingam, G.; Reps, T.W. An Incremental Algorithm for a Generalization of the Shortest-Path Problem. J. Algorithms 1996, 21, 267–305. [Google Scholar] [CrossRef]
  133. Brandes, U. A faster algorithm for betweenness centrality. J. Math. Sociol. 2001, 25, 163–177. [Google Scholar] [CrossRef]
  134. Cohen, E.; Delling, D.; Pajor, T.; Werneck, R.F. Computing classic closeness centrality, at scale. In Proceedings of the COSN, Dublin, Ireland, 1–2 October 2014; pp. 37–50. [Google Scholar]
  135. Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef]
  136. Floyd, R.W. Algorithm 97: Shortest path. Commun. ACM 1962, 5, 345. [Google Scholar] [CrossRef]
  137. Ramalingam, G.; Reps, T. On the Computational Complexity of Incremental Algorithms; Technical Report; University of Wisconsin-Madison Department of Computer Sciences: Madison, WI, USA, 1991. [Google Scholar]
  138. West, D.B. Introduction to Graph Theory; Prentice Hall: Upper Saddle River, NJ, USA, 2001; Volume 2. [Google Scholar]
  139. Li, W.; Qiao, M.; Qin, L.; Zhang, Y.; Chang, L.; Lin, X. Exacting Eccentricity for Small-World Networks. In Proceedings of the ICDE, Paris, France, 16–19 April 2018; pp. 785–796. [Google Scholar]
  140. Alishahi, M. On the dynamic coloring of graphs. Discret. Appl. Math. 2011, 159, 152–156. [Google Scholar] [CrossRef]
  141. Zuckerman, D. Linear Degree Extractors and the Inapproximability of Max Clique and Chromatic Number. Theory Comput. 2007, 3, 103–128. [Google Scholar] [CrossRef]
  142. Lewis, R.M.R. A Guide to Graph Colouring—Algorithms and Applications; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  143. Bhyravarapu, S.; Kumari, S.; Reddy, I.V. Dynamic Coloring on Restricted Graph Classes. In Proceedings of the CIAC, Larnaca, Cyprus, 13–16 June 2023; pp. 112–126. [Google Scholar]
  144. Li, S.; Wang, K.; Lin, X.; Zhang, W.; He, Y.; Yuan, L. Querying Historical Cohesive Subgraphs over Temporal Bipartite Graphs. In Proceedings of the 2024 IEEE 40th International Conference on Data Engineering (ICDE), Utrecht, The Netherlands, 13–16 May 2024; pp. 2503–2516. [Google Scholar]
  145. Cohen, J. Trusses: Cohesive subgraphs for social network analysis. Natl. Secur. Agency Tech. Rep. 2008, 16, 1–29. [Google Scholar]
  146. Greene, D.; Doyle, D.; Cunningham, P. Tracking the Evolution of Communities in Dynamic Social Networks. In Proceedings of the ASONAM, Odense, Denmark, 9–11 August 2010; pp. 176–183. [Google Scholar]
  147. Clauset, A.; Newman, M.E.; Moore, C. Finding community structure in very large networks. Phys. Rev. E-Stat. Nonlinear Soft Matter Phys. 2004, 70, 066111. [Google Scholar] [CrossRef] [PubMed]
  148. Görke, R.; Maillard, P.; Schumm, A.; Staudt, C.; Wagner, D. Dynamic graph clustering combining modularity and smoothness. J. Exp. Algorithmics 2013, 18, 1. [Google Scholar] [CrossRef]
  149. Kherad, M.; Dadras, M.; Mokhtari, M. Community detection based on influential nodes in dynamic networks. J. Supercomput. 2024, 80, 24664–24688. [Google Scholar] [CrossRef]
  150. Tarjan, R.E. Depth-First Search and Linear Graph Algorithms. SIAM J. Comput. 1972, 1, 146–160. [Google Scholar] [CrossRef]
  151. Hopcroft, J.E.; Karp, R.M. An n^5/2 algorithm for maximum matchings in bipartite graphs. SIAM J. Comput. 1973, 2, 225–231. [Google Scholar] [CrossRef]
  152. Hopcroft, J.E.; Tarjan, R.E. Efficient Algorithms for Graph Manipulation [H] (Algorithm 447). Commun. ACM 1973, 16, 372–378. [Google Scholar] [CrossRef]
  153. Tarjan, R.E. Finding Dominators in Directed Graphs. SIAM J. Comput. 1974, 3, 62–89. [Google Scholar] [CrossRef]
  154. Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms, 3rd ed.; MIT Press: Cambridge, MA, USA, 2009. [Google Scholar]
  155. Sibeyn, J.F.; Abello, J.; Meyer, U. Heuristics for semi-external depth first search on directed graphs. In Proceedings of the SPAA, Winnipeg, MB, Canada, 10–13 August 2002; pp. 282–292. [Google Scholar]
  156. Reif, J.H. Depth-First Search is Inherently Sequential. Inf. Process. Lett. 1985, 20, 229–234. [Google Scholar] [CrossRef]
  157. Reif, J.H. A Topological Approach to Dynamic Graph Connectivity. Inf. Process. Lett. 1987, 25, 65–70. [Google Scholar] [CrossRef]
  158. Miltersen, P.B.; Subramanian, S.; Vitter, J.S.; Tamassia, R. Complexity Models for Incremental Computation. Theor. Comput. Sci. 1994, 130, 203–236. [Google Scholar] [CrossRef]
  159. Shen, C.Y.; Huang, L.H.; Yang, D.N.; Shuai, H.H.; Lee, W.C.; Chen, M.S. On finding socially tenuous groups for online social networks. In Proceedings of the SIGKDD, Halifax, NS, Canada, 13–17 August 2017; pp. 415–424. [Google Scholar]
  160. Li, J.; Wang, X.; Deng, K.; Yang, X.; Sellis, T.; Yu, J.X. Most influential community search over large social networks. In Proceedings of the ICDE, San Diego, CA, USA, 19–22 April 2017; pp. 871–882. [Google Scholar]
  161. Rozenshtein, P.; Anagnostopoulos, A.; Gionis, A.; Tatti, N. Event detection in activity networks. In Proceedings of the SIGKDD, New York, NY, USA, 24–27 August 2014; pp. 1176–1185. [Google Scholar]
  162. Chen, Z.; Feng, B.; Yuan, L.; Lin, X.; Wang, L. Fully Dynamic Contraction Hierarchies with Label Restrictions on Road Networks. Data Sci. Eng. 2023, 8, 263–278. [Google Scholar] [CrossRef]
  163. Feng, B.; Chen, Z.; Yuan, L.; Lin, X.; Wang, L. Contraction hierarchies with label restrictions maintenance in dynamic road networks. In Proceedings of the International Conference on Database Systems for Advanced Applications, Tianjin, China, 17–20 April 2023; pp. 269–285. [Google Scholar]
  164. Narváez, P.; Siu, K.; Tzeng, H. New dynamic SPT algorithm based on a ball-and-string model. IEEE/ACM Trans. Netw. 2001, 9, 706–718. [Google Scholar] [CrossRef]
  165. Liang, Y.; Chen, C.; Wang, Y.; Lei, K.; Yang, M.; Lyu, Z. Reachability preserving compression for dynamic graph. Inf. Sci. 2020, 520, 232–249. [Google Scholar] [CrossRef]
  166. Meunier, L.; Zhao, Y. Reachability Queries on Dynamic Temporal Bipartite Graphs. In Proceedings of the SIGSPATIAL/GIS, Hamburg, Germany, 13–16 November 2023; pp. 97:1–97:11. [Google Scholar]
  167. Hanai, M.; Suzumura, T.; Tan, W.J.; Liu, E.; Theodoropoulos, G.; Cai, W. Distributed edge partitioning for trillion-edge graphs. arXiv 2019, arXiv:1908.05855. [Google Scholar] [CrossRef]
  168. Predari, M.; Esnard, A. A k-way greedy graph partitioning with initial fixed vertices for parallel applications. In Proceedings of the PDP, Heraklion, Greece, 17–19 February 2016; pp. 280–287. [Google Scholar]
  169. Petroni, F.; Querzoni, L.; Daudjee, K.; Kamali, S.; Iacoboni, G. Hdrf: Stream-based partitioning for power-law graphs. In Proceedings of the CIAM, Melbourne, Australia, 18–23 October 2015; pp. 243–252. [Google Scholar]
  170. Li, H.; Liu, Y.; Yuan, H.; Yang, S.; Yun, J.; Qiao, S.; Huang, J.; Cui, J. Research on dynamic graph partitioning algorithms: A Survey. J. Softw. 2023, 34, 539–564. [Google Scholar]
  171. Mondal, J.; Deshpande, A. Managing large dynamic graphs efficiently. In Proceedings of the SIGMOD, Scottsdale, AZ, USA, 20–24 May 2012; pp. 145–156. [Google Scholar]
  172. Mondal, J.; Deshpande, A. EAGr: Supporting continuous ego-centric aggregate queries over large dynamic graphs. In Proceedings of the SIGMOD, Snowbird, UT, USA, 22–27 June 2014; pp. 1335–1346. [Google Scholar]
Figure 1. Outline of this survey.
Figure 1. Outline of this survey.
Applsci 15 06003 g001
Figure 2. Example of graphs.
Figure 2. Example of graphs.
Applsci 15 06003 g002
Figure 3. Example of clique.
Figure 3. Example of clique.
Applsci 15 06003 g003
Figure 4. Example of biclique.
Figure 4. Example of biclique.
Applsci 15 06003 g004
Figure 5. Example of k-core.
Figure 5. Example of k-core.
Applsci 15 06003 g005
Figure 6. Example of k-truss.
Figure 6. Example of k-truss.
Applsci 15 06003 g006
Figure 7. An example of DFS-Tree [155].
Figure 7. An example of DFS-Tree [155].
Applsci 15 06003 g007
Table 1. Classification of recent works in dynamic graphs.
Table 1. Classification of recent works in dynamic graphs.
ProblemFully DynamicIncremental DynamicDecremental DynamicStreaming DynamicSingle UpdateBatch Update
CentralityBetweenness Centrality[17,25,26,37,38,39][17,18,25,26,38,39,40,41][17,25,26,37,38,39][18,26,42][17,26,38,39,43][25,37,41]
Closeness Centrality[37,44,45,46,47][37,44,45,46,47][37,44,45,46,47][45][44,45,46,47][37]
Eccentricity[48][48][48]-[48]-
Graph
Coloring
Vertex Coloring[49,50,51][49,50,51,52,53][49,50,51,52,53]-[49,52,53,54][50,51]
Edge
Coloring
[55][54,55,56,57,58,59,60,61][54,55,56,59,60,61]-[54,55,56,57,58,61][59,60]
Cohesive
Subgraph
Clique[62][16,62,63,64,65][62,63,65]-[65][16,62,63,64]
Biclique-[66,67]--[67][66]
k-core-[19,20,68,69,70,71,72,73,74,75,76][19,20,68,69,70,71,72,73,74,75,76]-[70,74][19,20,68,69,71,72,73,75,76]
k-truss-[21,77,78,79,80,81,82][21,77,78,79,81,82]-[21,79,80,82][77,78,79,81]
Community[83][83,84,85,86,87,88][83,84,87][89][84,89][83,85,86,87,88]
Path
Traversal
DFS[90,91,92,93,94][90,91,92,93,94,95,96,97][90,91,92,93,94,98]-[90,91,92][91,92,93,94,95,96,98]
Shortest Distance[99,100,101][99,100,101,102,103,104,105,106,107,108][99,100,101,102,103,104,107,108,109]-[100,103,105,106,109][99,101,102,104,106,107,108]
Reachability-[110]--[110]-
Graph
Separation
Graph Partition[111,112,113,114][24,111,112,113,114,115][111,112,113,114][111,116,117][111][112,113,115]
Clustering[118][118,119,120][118]-[118,120][119]
SystemsSystems-[121]-[122,123,124]--
Table 2. Comparison of time complexity for dynamic betweenness centrality algorithms.
Table 2. Comparison of time complexity for dynamic betweenness centrality algorithms.
ProblemAlgorithmGraph TypeUpdate ModeFully DynamicIncremental DynamicDecremental DynamicStreaming Dynamic
Betweenness centralityQUBE [17]GeneralSingle
Betweenness centralityGreen [18]GeneralSingle O ( | V | 2 + | V | | E | )
Betweenness centralityLee [25]WeightedBatch O ( | V T | | E T | + | V | + | E | )
Betweenness centralityLee [25]GeneralBatch O ( | V T | | E T | + | V T | 2 l o g | V T | + | V | + | E | )
Betweenness centralityGreen+ [26]GeneralSingle (parallel)
Betweenness centralityiCentral [39]GeneralSingle (parallel) O ( | V | | E | / T )
B&C centralityShukla [37]GeneralBatch (parallel) O ( | L ( B ) | · ( | V | + | E | ) )
Closeness centralityKas [44]Directed & weightedSingle O ( | Affected | ) O ( | Affected | 2 + | Affected | log | Affected | )
Closeness centralitySTREAMER  [45]GeneralSingle (distributed)
Closeness centralityCENDY  [46]GeneralSingle O ( m i n { | V ´ a | , | V ´ b | } · ( | V | + | E | ) )
Closeness centralityIUA [47]GeneralSingle O ( | V | ) + O ( | V ´ a | ( | V affect | + | E affect ) )
EccentricityECC-DY [48]GeneralSingle O ( | E | · ( | C a | + | C b | ) )
Table 3. Comparison of time complexity for dynamic vertex coloring algorithms.
Table 3. Comparison of time complexity for dynamic vertex coloring algorithms.
ProblemAlgorithmGraph TypeUpdate ModeFully DynamicIncremental DynamicDecremental DynamicStreaming Dynamic
Vertex coloringBarba [52]GeneralBatch
( Δ + 1 ) -coloringBhattacharya [54]GeneralSingle O ( log Δ )
( 1 + o ( 1 ) ) Δ -coloringBhattacharya [54]GeneralSingle O ( p o l y l o g Δ )
O ( α log 2 n ) -coloringSolomon [49]GeneralSingle O ^ ( p o l y l o g α )
Vertex coloringACODYGRA [51]GeneralBatch
Vertex coloringSallinen [50]GeneralBatch (distributed)
Vertex coloringYuan [53]GeneralSingle
Table 4. Comparison of time complexity for dynamic clique and biclique algorithms.
Table 4. Comparison of time complexity for dynamic clique and biclique algorithms.
ProblemAlgorithmGraph TypeUpdate ModeFully DynamicIncremental DynamicDecremental DynamicStreaming Dynamic
MCEStix [62]GeneralBatch O ( W 2 n 2 )
MCESun [65]GeneralSingle O ( W n 2 ) O ( W n 2 )
MCEDas [63]GeneralBatch O ( Δ 3 ρ | Λ n e w | )
MCESOMEi [64]GeneralBatch
MCEParIMCE [16]GeneralBatch (parallel)
MBEDynamicBC [66]BipartitedBatch O ( Δ 2 ρ | Λ n e w | + 2 ρ | Λ n e w | )
MBEIMBS [67]BipartitedSingle
Table 5. Comparison of time complexity for dynamic core algorithms.
Table 5. Comparison of time complexity for dynamic core algorithms.
ProblemAlgorithmGraph TypeUpdate ModeFully DynamicIncremental DynamicDecremental DynamicStreaming Dynamic
Core maintenanceAksu [68]GeneralBatch (distributed)
Core maintenanceHua [69]GeneralBatch (parallel) O ( Δ I · max S E I { m S , k + L S , k · n S , k } ) O ( Δ I · max S E D { m S , k + L S , k · n S , k } )
Core maintenanceAridhi [73]GeneralBatch (distributed)
Core maintenanceWang [71]GeneralBatch (parallel) O ( Δ I · max S E m S + L S · n S ) O ( Δ D · max R E { m R + F R · n R } )
Core maintenanceJin [72]GeneralBatch (parallel) O ( | E I | · | V I | + Δ I · max S E I { m S + L S · n S } ) O ( | E D | · | V D | + Δ D · max R E D { m R + F S · n S } )
Core maintenanceLi [74]GeneralSingle O ( | V c | u V c D u )
Core maintenanceTRAVERSAL [70]GeneralSingle O ( | E | )
Core maintenanceLin [19]GeneralBatch O ( | V * | + x · k m a x + | T 0 | ) O ( v V n | N ( V , G ) | + | T ( n ) | )
Core maintenanceYu [20]GeneralBatch O ( Δ I · | E | ) O ( Δ D · | E | )
Core maintenanceYu [20]GeneralBatch (parallel) O ( Δ I · max S E I { m S + L S · n S } ) O ( Δ D · max R E D { m R + F S · n S } )
Core maintenanceBai [75]GeneralBatch (parallel) O ( ϕ G · | G | ) O ( ϕ G · | G k | )
Core maintenanceGuo [76]GeneralBatch (parallel) O ( E I | E + | log | E + | ) O ( E D | E * | )
Table 6. Comparison of time complexity for dynamic truss algorithms.
Table 6. Comparison of time complexity for dynamic truss algorithms.
ProblemAlgorithmGraph TypeUpdate ModeFully DynamicIncremental DynamicDecremental DynamicStreaming Dynamic
Truss maintenanceZhang [21]GeneralSingle
Truss maintenanceLuo [77]GeneralBatch O ( ϵ I ( | Δ E | 2 + A m a x · ( d m a x 2 + P m a x ) ) ) O ( ϵ D ( | Δ E | 2 + B m a x · ( d m a x 2 + Q m a x ) ) )
Truss maintenanceLi [81]GeneralBatch (parallel) O ( I G Δ E ( | Δ E | S G + | E t I | ) S G ) O ( R G Δ E ( | Δ E | + | E | ) S G 2 )
Truss maintenanceLuo [78]GeneralBatch (parallel) O ( R + · ( d m a x 2 ( | Δ E | + | Δ V | ) + A m a x · ( d m a x 2 + P m a x ) ) ) O ( R · ( d m a x 2 ( | Δ E | + | Δ V | ) + B m a x · ( d m a x 2 + Q m a x ) ) )
Truss maintenanceEbadian [80]GeneralSingle
Table 7. Comparison of time complexity for dynamic DFS-Tree algorithms.
Table 7. Comparison of time complexity for dynamic DFS-Tree algorithms.
ProblemAlgorithmGraph TypeUpdate ModeFully DynamicIncremental DynamicDecremental DynamicStreaming Dynamic
DFS-TreeFranciosa [95]DAGBatch O ( n )
DFS-TreeBaswana [96]GeneralBatch O ( n 2 / m )
DFS-TreeBaswana [98]DAGBatch O ( n log n )
DFS-TreeBaswana [94]GeneralBatch O ( m n log 2.5 n ) O ( n log 3 n )
DFS-TreeChen [91]GeneralBatch O ( m n log 1.5 n ) O ( n )
DFS-TreeNakamura [92]-A 1GeneralBatch O ( m n log 0.75 + ϵ n ) O ( n log n )
DFS-TreeNakamura [92]-B 1GeneralBatch O ( m n log 1.25 n ) O ( n log n )
DFS-TreeBaswana [93]GeneralBatch O ( m n log n )
1 Nakamura [92] proposes two algorithms Nakamura-A and Nakamura-B.
Table 8. Comparison of time complexity for dynamic graph separation algorithms.
Table 8. Comparison of time complexity for dynamic graph separation algorithms.
ProblemAlgorithmGraph TypeUpdate ModeFully DynamicIncremental DynamicDecremental DynamicStreaming Dynamic
PartitioningVaquero [111]GeneralSingle
PartitioningLogGP [117]GeneralSingle
PartitioningHermes [24]General(distributed)
PartitioningLeopard [112]GeneralBatch
PartitioningLi [113]GeneralBatch O ( | C S i | + | C S i | · log | C S i | )
PartitioningIncDNE [115]GeneralBatch
PartitioningIncKGGGP [115]GeneralBatch
ClusteringdanySCAN [120]WeightedSingle
ClusteringBOTBIN [118]GeneralSingle O ( log n · log M + m p f )
ClusteringDPISCAN [119]GeneralBatch (distributed & parallel) O ( ( log log n ) m + δ T )
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Chen, Z.; Liang, K.; Yuan, L.; Zhang, W.; Yang, Z. Recent Advances in Efficient Dynamic Graph Processing. Appl. Sci. 2025, 15, 6003. https://doi.org/10.3390/app15116003

AMA Style

Chen Z, Liang K, Yuan L, Zhang W, Yang Z. Recent Advances in Efficient Dynamic Graph Processing. Applied Sciences. 2025; 15(11):6003. https://doi.org/10.3390/app15116003

Chicago/Turabian Style

Chen, Zi, Keke Liang, Long Yuan, Wenjie Zhang, and Zhengyi Yang. 2025. "Recent Advances in Efficient Dynamic Graph Processing" Applied Sciences 15, no. 11: 6003. https://doi.org/10.3390/app15116003

APA Style

Chen, Z., Liang, K., Yuan, L., Zhang, W., & Yang, Z. (2025). Recent Advances in Efficient Dynamic Graph Processing. Applied Sciences, 15(11), 6003. https://doi.org/10.3390/app15116003

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop