Summary: | The k-core, a kind of structure of graphs, is a maximal connected subgraph with the minimum degree greater than or equal to k, and has been used in many fields. The maximum k such that a k-core contains u is the K value of u. Especially, for an edge-weighted graph, the degree of a vertex is the sum of weights of all its incident edges. The core decomposition problem on static graphs and the core maintenance problem on dynamic graphs have been studied in unweighted graphs. We improve the core decomposition algorithm to suit edge-weighted graphs, but it costs too much to update K values of all vertices after the change of large graphs by using it directly. Then we find a small subgraph H which contains all vertices whose K values will change after the change of graphs. By operating on H, the cost will be greatly reduced. Next, we design core maintenance algorithms for edge-weighted graphs in both insertion and deletion cases, which is the major work in this paper. In those core maintenance algorithms, a hierarchical process is added, which help us determine the new K values of vertices in H from the small ones to high. Finally, we conduct extensive experiments on real-world graphs to show the effectiveness and the efficiency that our algorithms have. The results show that our algorithms have the best performance.
|