Есть дерево (без циклов). Выглядит примерно так: https://s32.postimg.org/mb44h9anp/before.png . Мне нужно раскидать элементы по сетке (можно считать бесконечной), располагая детей под родителями (нечетное кол-во - сразу под, четное - с пропуском по середине). Т.е. хочу сделать вот так: https://s32.postimg.org/8eew8nx5x/after.png .
Подскажите, пожалуйста, алгоритм действий.