В простом двоичном дереве, я был в состоянии сделать график выглядеть правильно, добавив невидимые узлы и невидимые края, например, из:Как выбрать, на какой стороне находится узел, в простом двоичном дереве?
digraph
{
vertex_1 [label="A"];
vertex_2 [label="B"];
vertex_2 -> vertex_1 [label="Left"];
}
, который производит:
к:
digraph
{
vertex_1 [label="A"];
vertex_2 [label="B"];
vertex_0 [style=invis];
vertex_2 -> vertex_1 [label="Left"];
vertex_2 -> vertex_0 [style=invis];
}
, который производит:
Но когда я попробовал этот трюк с графом в 4 узла (он был изначально прямо вверх и вниз), вот что я получил:
digraph
{
vertex_1 [label="A"];
vertex_2 [label="B"];
vertex_3 [label="F"];
vertex_4 [label="G"];
vertex_01 [style=invis];
vertex_02 [style=invis];
vertex_03 [style=invis];
vertex_4 -> vertex_3 [label="Left"];
vertex_3 -> vertex_1 [label="Left"];
vertex_1 -> vertex_02 [style=invis];
vertex_4 -> vertex_03 [style=invis];
vertex_3 -> vertex_01 [style=invis];
vertex_1 -> vertex_2 [label="Right"];
}
который произвел:
Очевидно, я хочу, чтобы B находился в правой части A. Я попытался переключить порядок действия невидимого края и фактического края от B до A, как тот, который был первым, но который не отличается от сть. Как я могу сказать программе поставить конкретный узел или ребро на определенную сторону?