[торможу] Алгоритм отрисовки дерева
или переформулируй или нарисуй, я прочитал четыре раза и не понял.
можно скажем потребовать что каждое подерево вписывается в прямоугольник
и рекурсивно расчитывать размеры прямоугольников и отрисовывать
уже рассчитываю, но не клеится чего-то
и компактность по ширине или высоте?
компактность по ширине.
в смысле проходов?проходов по дереву
можно, например, размышлять, как отрисовать такое в один проход
типа да. в один проход.
рисуем узел
рисуем левое поддерево
сдвигаемся по высоте на высоту левого поддерева + дельта и рисуем правое поддерево
Еще интересно добиться минимальности по высоте (среди всех деревьев, минимальных по ширине).
Наверное, надо всюду левое заменить на правое ?точно. я перепутал их потому, что мысленно иду от корня, а там на развилке то, что идет в право - левое поддерево, а что вниз - правое
спасибо
Еще интересно добиться минимальности по высоте (среди всех деревьев, минимальных по ширине).
+1
конечно, можно и дальше компактифицировать, но тут нужно сложную теорию вкладывать
боюсь эта штука в общем случае вполне может оказаться NP-полной
угу. как и большинство задач на упаковку/расстановку
да, недавно доказали что тетрис NP-полон =)
А неочевидно? =)
как я понял фигурки и ширина стакана фиксированы стандартными, так что сведение явно нетривиальное.
Раз пошла такая пьянка, будь добр - сформулируй задачу "Тетрис".
прочитай в статье правила, а доказательство не читай =)
Я, просто, честно говоря, немного о другом думал и вот там сводимость была бы очень простой...
Оставить комментарий
yolki
у каждого узла 4 направляющих - up/down/left/rightдерево растёт вниз и вправо.
как бы его на плоскости изобразить, чтобы компактно, без наложения узлов, без пересечения дуг и чтобы вправо-вниз было именно вправо и вниз