我需要创建两个二叉搜索树图,显示radix-2和radix&lt;的分支。 2二进制搜索方法。我想以图形方式示出在使用二进制权重<1的逐次逼近A / D转换器中采用的代码冗余。 2.理想情况下,黄金无线电基数也适用(1.618)。
为此,我决定使用python igraph库并发现了Fruchterman-Reingold力导向函数,例如:
from igraph import *;
pl=Plot();
g = Graph.Tree(16, 2);
layout = g.layout("rt", 1); # Reingold-Tilford tree layout, useful for (almost) tree-like graphs
pl.add(g, layout=layout);
pl._windows_hacks=True;
pl.show();
不幸的是,这会生成一个树,其分支不是二进制,即我在根节点之后得到三个节点。我还需要一个平衡的树,这个函数似乎没有提供(树枝是不平衡的):
我在igraph库中使用了Bipartite类方法,但我不确定我是否在正确的道路上。
如果有更多有igraph和树形象化经验的人能够帮我解决这个问题,我会很高兴。
答案 0 :(得分:0)
我对这个情节有同样的问题。我通过指定布局的根来解决它:
layout = g.layout("rt", root=(0,0))