Also, ich verabschiede mich mal an der Stelle hier und danke allen für die freundliche Unterstützung. Mit ca. 100.000 Punkten und ca. 30.000 Doppel bin ich mit #61 bei 100 ms.
Delphi-Quellcode:
FLoatPoints.Clear;
N := 30000;
for I := 1 to N do
FLoatPoints.AddXY(FloatRandom(0, 10000), FloatRandom(0, 10000));
for I := 0 to FLoatPoints.Count div 2 do
FLoatPoints.Insert(Random(FLoatPoints.Count), FloatPoints[Random(N)]);
for I := 0 to FLoatPoints.Count div 2 do
FLoatPoints.Insert(Random(FLoatPoints.Count), FloatPoint(FloatPoints[I].X + Eps, FloatPoints[I].Y));
for I := 0 to FLoatPoints.Count div 2 do
FLoatPoints.Insert(Random(FLoatPoints.Count), FloatPoint(FloatPoints[I].X, FloatPoints[I].Y + Eps));
FLoatPoints.RemoveDoubles;
LG
Thomas