ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】Binary Search Treeを視覚化する。

成果物

www.youtube.com

Binary Search Treeのデータの追加と削除をアニメーションにしてみました。

親ノードが二つまでの子ノードを持つこちらのデータ構造は、データの追加は遅いですが、データが自動的に並べ替えられるので、大量のデータでも高速で読み取りができます。

仕組み

左の子孫の値 ≤ 親 ≤ 右の子孫の値という関係になっています。探索は一番上のノードから始まります。

追加したい数値が、探索中のノードの値よりも大きければ、探索対象を右に移動、なければ右に追加、探索中のノードの値と同じなら何もせず、探索中のノードの値よりも小さければ、探索対象を左に移動、なければ左に追加します。

こちらのサイトが参考になります。

www.youtube.com

データの削除は少し癖があって、こちらが参考になります。

4geek.net

コード

コードはこちらです。