我想在点(GraphViz)中制作一棵红黑树。但我总是在节点放置方面遇到问题。
到目前为止,这是我的代码(由于放置问题,它尚未完成:
digraph G {
//graph [ratio=.48];
node [style=filled, color=black, shape=circle, width=.6
fontname=Helvetica, fontweight=bold, fontcolor=white,
fontsize=24, fixedsize=true];
B1[label = 35];
B2[label = 10];
B3[label = 25];
B4[label = 40];
node [style=filled, color=red, shape=circle, width=.6
fontname=Helvetica, fontweight=bold, fontcolor=white,
fontsize=24, fixedsize=true];
R1[label = 15];
R2[label = 5];
R3[label = 20];
R4[label = 30];
R5[label = 45];
node [label = "NIL", style=filled, color=black, shape=record, width=.4,height=.25,
fontname=Helvetica, fontweight=bold, fontcolor=white,
fontsize=16, fixedsize=true];
N1[];
N2[];
N3[];
N4[];
N5[];
N6[];
N7[];
N8[];
N9[];
N10[];
B1 -> B4;
B1 -> R1;
R1 -> B2;
R1 -> B3;
B4 -> N1;
B4 -> R5;
}
所以我得到的是这个:
但是我想要的是:
“>
如您所见,我的代码切换了节点15和40、45和NIL。
即使更改代码中的顺序,结果也不会改变。
我想在点(GraphViz)中制作一棵红黑树。但是我总是在节点放置方面遇到问题。到目前为止,这是我的代码(由于放置问题而未完成):digraph ...
看起来像添加具有相同等级的显式(不可见)关系可以解决此问题。在这种情况下:
节点在图上出现的顺序取决于定义的顺序。