Given a set of nodes, how can I construct a tree which links together all the nodes in a way which minimises max(max(degree), max(depth))?
For example, given a set of five nodes, I could connect them like so:
However, this is not minimal, since max(degree) == 4 and max(depth) == 1, a better tree would be:
which has max(degree) == 2 and max(depth) == 2
Edit:: The algorithm does not have to be fast, but calculating the absolutely optimal tree is important.