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
赤黒木の条件を満たしていないのが目で見て明らかになった。