Closest-pair problem: Difference between revisions

Content added Content deleted
Line 286: Line 286:
bruteForceClosestPair: Tuple!(double,cdouble,cdouble)(0.0947756, 643.463+788.31i, 643.407+788.387i)
bruteForceClosestPair: Tuple!(double,cdouble,cdouble)(0.0947756, 643.463+788.31i, 643.407+788.387i)
closestPair: Tuple!(double,cdouble,cdouble)(0.0947756, 643.407+788.387i, 643.463+788.31i)</pre>
closestPair: Tuple!(double,cdouble,cdouble)(0.0947756, 643.407+788.387i, 643.463+788.31i)</pre>
Time gave 0:06.28 elapsed for brute force, and 0:00.07 elapsed for the divide & conquer one (10_000 points).
Time gave 0:04.03 elapsed for brute force version, and 0:00.06 elapsed for the divide & conquer one (10_000 points).


A more efficient implementation of the brute-force algorithm:
A more efficient implementation of the brute-force algorithm:
Line 316: Line 316:
}
}
void main() {
auto rnd = Random(1);
auto points = new cdouble[10_000];
foreach (ref p; points)
p = uniform(0.0, 1000.0, rnd) + uniform(0.0, 1000.0, rnd) * 1i;
writeln("bruteForceClosestPair2: ", bruteForceClosestPair2(points));
}

void main() {
void main() {
auto rnd = Random(1);
auto rnd = Random(1);
Line 331: Line 323:
writeln("bruteForceClosestPair2: ", bruteForceClosestPair2(points));
writeln("bruteForceClosestPair2: ", bruteForceClosestPair2(points));
}</lang>
}</lang>
Time gave 0:00.89 elapsed for brute-force version 2 (10_000 points).
Time gave 0:00.78 elapsed for brute-force version 2 (10_000 points).


=={{header|F Sharp|F#}}==
=={{header|F Sharp|F#}}==