3
$\begingroup$

I've discovered that a certain operation is quite useful when working with certain graphs, the operation is removing leaf nodes iteratively.

That is, I start by finding all leaf nodes (ie. nodes of degree = 1) and removing them from the graph. I then iteratively perform the same until there are no more leaf nodes, which means there are either no more nodes left, or one node, or cycles (depending on the type of the graph).

Is this operation called something? Is it used somewhere else? So far I was unable to find any references. Thanks!

  • 0
    You can finish with arbitrary number of trivial (single-vertex) components, not just zero or one.2017-02-25
  • 0
    In my experience, I haven't come across a specific name for this argument though the "iterate this process until something happens" argument is used a lot.2017-02-25

1 Answers 1

4

If the original graph is undirected and connected, the operation you mentioned is the same as computing the $2$-core of the graph. Formally, the $k$-core of a graph is defined as follows:

Defintion. Given an undirected graph $G$, the $k$-core of $G$ is the maximal subgraph $G'$ of $G$ such that the minimum vertex degree of $G'$ is no less than $k$.

To compute the $k$-core of $G$, one method is to repeatedly remove a vertex whose current degree is smaller than $k$. When the graph is connected, repeatedly removing vertices of degree $1$ leads to the $2$-core of $G$.