绘制统一和非均匀二进制搜索树图

时间:2016-10-29 21:00:04

标签: python algorithm binary-search-tree

我需要创建两个二叉搜索树图,显示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();

不幸的是,这会生成一个树,其分支不是二进制,即我在根节点之后得到三个节点。我还需要一个平衡的树,这个函数似乎没有提供(树枝是不平衡的):

You can find the obtained tree here

我在igraph库中使用了Bipartite类方法,但我不确定我是否在正确的道路上。

如果有更多有igraph和树形象化经验的人能够帮我解决这个问题,我会很高兴。

1 个答案:

答案 0 :(得分:0)

我对这个情节有同样的问题。我通过指定布局的根来解决它:

layout = g.layout("rt", root=(0,0))