A Linear-Time Algorithm for k-Partitioning Doughnut Graphs

Given a graph G = (V,E), k natural numbers n1, n2, ..., nk such that Pk i=1 ni = |V |, we wish to find a partition V1, V2, ..., Vk of the vertex set V such that |Vi| = ni and Vi induces a connected subgraph of G for each i, 1 i k. Such a partition is called a k-partition of G. The problem of finding a k-partition of a graph G is NP-hard in general. It is known that every k-connected graph has a k-partition. But there is no polynomial time algorithm for finding a k-partition of a k-connected graph. In this paper we give a simple linear-time algorithm for finding a k-partition of a “doughnut graph” G.