This algorithm adds an attribute to each node that specifies the k-core that node belongs to. The k-core a node belongs to is the last k-core it would be part of before being removed from the graph in the next k-core. To find a k-core, recursively remove every node with fewer than k edges connected to it.

A k-core is a part of a graph with strong structure. K-cores have been analyzed for their properties, as indicators of the structure of the graph, and to help visualize graphs.

- B. Bollobas, The evolution of sparse graphs, in Graph Theory and Combinatorics, Proc. Cambridge Combinatorial Conf. in honor of Paul Erdos, Academic Press, 1984, 35-57. (References: [ALGDOC:1], [ALGDOC:2])
- S. B. Seidman, Network structure and minimum degree, Social Networks 5:269-287.
- Size and Connectivity of the k-core of a Random Graph. ?uczak, Tomasz.
- Generalized Cores. V. Batagelj, M. Zaversnik.
- k-Core Organization of Complex Networks. Dorogovtsev, Goltsev, Mendes