The $k$-core decomposition in a graph is a fundamental problem for social network analysis. The problem of $k$-core decomposition is to calculate the core number for every node in a graph. Previous studies mainly focus on $k$-core decomposition in a static graph. There exists a linear time algorithm for $k$-core decomposition in a static graph. However, in many real-world applications such as online social networks and the Internet, the graph typically evolves over time. Under such applications, a key issue is to maintain the core number of nodes given the graph changes over time. A simple implementation is to perform the linear time algorithm to recompute the core number for every node after the graph is updated. Such simple implementation is expensive when the graph is very large. In this paper, we propose a new efficient algorithm to maintain the core number for every node in a dynamic graph. Our main result is that only certain nodes need to update their core number given the graph is changed by inserting/deleting an edge. We devise an efficient algorithm to identify and recompute the core number of such nodes. The complexity of our algorithm is independent of the graph size. In addition, to further accelerate the algorithm, we develop two pruning strategies by exploiting the lower and upper bounds of the core number. Finally, we conduct extensive experiments over both real-world and synthetic datasets, and the results demonstrate the efficiency of the proposed algorithm.
Streamed Graph Drawing and the File Maintenance Problem
在流式图形绘制中,平面图G作为数据流递增地给出,并且在每个新的边被释放之后必须更新G的直线图。为了保持心理地图,每次更新后,对绘图的更改应最小化,Binucci et al.show认为,如果不允许边缘移动,指数区域对于树的一些流图绘图是必要的和足够的。我们表明,一些流图图纸可以,事实上,多项式区域,包括平面流图图纸的树,树地图,和outerplanar图,如果我们允许少量的坐标移动后,每次更新。我们的算法涉及一个有趣的连接到一个经典的算法问题-文件维护问题-我们也给这个问题的新算法在一个框架中,允许大容量内存移动。