The implementation of the paper "Core Spanning Tree Maintenance for Large Dynamic Graphs." We use the Snap Library to implement the structure of the graph.
You should install the Snap Library first. http://snap.stanford.edu/index.html
core *graph = new core("files",n)
- files: filename
- n: number of vertices
use graph->read_graph(false,flag);
- if flag=0/1, vertices will be numbered starting from 1/0
use graph->Dynamic_maintainences("files", flag1, flag2, flag3); to maintain the CST
- files;
- flag1: 0 for dynamic 1 for staric;
- flag2: for delete 1 for insert;
- flag3: for 0/1 vertices will be numbered starting from 1/0
use graph->Dynamic_kcores("files", flag1, flag2, flag3, k1, k2);
- files;
- flag1: 0 for dynamic 1 for staric;
- flag2: for delete 1 for insert;
- flag3: for 0/1 vertices will be numbered starting from 1/0
- extract the k-cores vary from k1 to k2.
Lijun Chang and Lu Qin. Cohesive Subgraph Computation over Large Sparse Graphs. Springer Series in the Data Sciences, 2018
- [1] Zhang Y, Yu J X, Zhang Y, et al. A fast order-based approach for core maintenance[C]//2017 IEEE 33rd International Conference on Data Engineering (ICDE). IEEE, 2017: 337-348.
- [2] Lin Z, Zhang F, Lin X, et al. Hierarchical core maintenance on large dynamic graphs[J]. Proceedings of the VLDB Endowment, 2021, 14(5): 757-770.
- [3] Chang L, Qin L. Cohesive subgraph computation over large sparse graphs[C]//2019 IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 2068-2071.