木を綺麗に描画するアルゴリズム

少し前に作ってそのままにしてたんですが,木(特に2分木)を綺麗に描画するかというアルゴリズムについて少し資料にまとめました.




スライドで紹介している reingold tilford アルゴリズムを実際にjavascriptで実装してみたのが以下です.
GitHub - mmisono/tree-algo: binary tree implementation & Reingold-Tilford algorithm
yield文を使っているのでyieldを有効にしたchromeでないと多分動きません.あと実装怪しめ



本当は赤黒木を実装しようとしていて,そのとき描画方法に困ったので描画アルゴリズムについて調べたんですが,結局描画アルゴリズムを実装してからそのまま..