In computer science, the **minimum routing cost spanning tree** of a weighted graph is a spanning tree minimizing the sum of pairwise distances between vertices in the tree. It is also called the **optimum distance spanning tree**, **shortest total path length spanning tree**, **minimum total distance spanning tree**, or **minimum average distance spanning tree**. In an unweighted graph, this is the spanning tree of minimum Wiener index.^{[1]}
Hu (1974) writes that the problem of constructing these trees was proposed by Francesco Maffioli.^{[2]}

The minimum routing cost spanning tree of an unweighted interval graph can be constructed in linear time.^{[6]} A polynomial time algorithm is also known for distance-hereditary graphs, weighted so that the weighted distances are hereditary.^{[7]}