ボロノイ図を作成するためのFortunes アルゴリズムを実装する必要があります。
アルゴリズムの重要な部分は、「Beach Line Data Structure」と呼ばれるデータ構造です。
これは、AVL に似たバイナリ バランス ツリーですが、データがリーフにのみ格納されるという点で異なります (他にも違いがありますが、質問には重要ではありません)。
実装方法がわかりません。明らかに、AVL を「そのまま」使用することは機能しません。これは、AVL ツリーのリーフ ノードをバランスさせると、内部ノードになり、その逆になる可能性があるためです。
ウィキペディアで他の既知のデータ構造も調べてみましたが、ニーズに合ったものはありませんでした。連結リストでこれを行ういくつかの実装を見てきましたが、連結リストの検索は O(n) であり、アルゴリズムを効率的にするには O(log n) である必要があるため、これは良くありません。