graphviz でツリー構造を可視化

tree を簡単に可視化する方法ないだろうかで教えていただいた graphviz を試してみた。

ツリーの構造を以下のようなファイルで指定する。

digraph rbtrees {
    1 [style = filled, fillcolor = "#cccccc"];
    "Nil0" [style = filled, fillcolor = "#cccccc"];
    1 -> "Nil0";
    2 [style = filled, color = "#336666", fillcolor = "#CC9999"];
    1 -> 2;
    2 [style = filled, color = "#336666", fillcolor = "#CC9999"];
    "Nil1" [style = filled, fillcolor = "#cccccc"];
    2 -> "Nil1";
    3 [style = filled, color = "#336666", fillcolor = "#CC9999"];
    2 -> 3;
    3 [style = filled, color = "#336666", fillcolor = "#CC9999"];
    "Nil2" [style = filled, fillcolor = "#cccccc"];
    3 -> "Nil2";
    "Nil3" [style = filled, fillcolor = "#cccccc"];
    3 -> "Nil3";
}


dot コマンドで画像生成。

dot -Tpng rb-trees.dot -o rb-trees.png


赤黒木の条件を満たしていないのが目で見て明らかになった。