In Mathematica 8 you can specify how disconnected components of a graph should be packed together using the suboption "PackingLayout" to the option GraphLayout.

This Demonstration shows the five available packing methods applied to a highly disconnected graph with a variable number of vertices: there is an edge with being the left rotation of in base 2. For instance, the edge 27 23 appears because the binary representation of 27 is 11011 and after a left rotation becomes 10111, which is the binary representation of 23.

This is related to Josephus' problem, which considers a group of men arranged in a circle under the edict that every second man will be executed, going around the circle until only one remains. The problem is, where should you sit to be the last survivor? Hint: with 27 men you should occupy position 23.