2011-06-05 189 views
2

我需要在我的代码中记录二叉树。有人可以为此提出绘图/可视化工具。该代码基本上是这样它是一个二叉树为文档绘制二叉树的可视化工具

$a  $b  $c 
true true  true 134 
true true  false 245 
true false  true 2 
true false  false 3 
false true  true 8 
false true  false 17 
false false  true 19 
false false  false 32 

回答

3

Graphviz包点是一个非常好的免费的命令行工具来自动绘制图形和树形结构从一个描述文件安装。

这里有一个例子:

digraph tree { 
    subgraph cluster_a { 
     label="a"; 
     t;f; 
    } 

    subgraph cluster_b { 
     label="b"; 
     tt;tf;ft;ff; 
    } 

    subgraph cluster_c { 
     label="c"; 
     ttt;ttf;tft;tff;ftt;ftf;fft;fff; 
    } 

    root -> t;root -> f; 

    t -> tt -> ttt -> 134; 
    tt -> ttf -> 245; 
    t -> tf -> tft -> 2; 
    tf -> tff -> 3; 
    f -> ft -> ftt -> 8; 
    ft -> ftf -> 17; 
    f -> ff -> fft -> 19; 
    ff -> fff -> 32; 

    t [label="true"]; 
    f [label="false"]; 
    tt [label="true"]; 
    tf [label="false"]; 
    ft [label="true"]; 
    ff [label="false"]; 
} 

(我省略了TTT标签,TTF ......为了简洁)

你可以将它保存为 “tree.dot”,并通过运行进行可视化:

dot -Tpng -o tree.png tree.dot 

该格式相当容易以编程方式生成,并且该示例生成了二叉树的良好图表。