Ich brauche eine Daten structute dieDatenstruktur - Durchmesser des Polygon
- addPoint (x, y) in O (log N)
- printDiameter() in O (log N)
ermöglicht Wobei N die aktuelle Anzahl der Punkte im Polygon ist.
Offensichtlich liegen die beiden Punkte auf der konvexen Hülle des Polygons. Mit dem Konzept der Anti-Nodal-Paare (Rotating-Calliper) können wir feststellen, dass der Durchmesser von N Punkten O (N) ist.
This erklärt sauber die O (n) -Lösung, aber es unterstützt nicht das Einfügen von Punkt.