Wolfram Technology Guide: Fully Automated Graph Layout  previous | next 
Lay Out Arbitrary Trees
Mathematica has efficient algorithms for laying out any kind of tree.
In[1]:=

Click for copyable input
TreePlot[Table[

  i -> FromDigits[RotateRight[IntegerDigits[i, 2]], 2], {i, 0, 511}]]
Out[1]=