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: |
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. |
Time gave 0:00.78 elapsed for brute-force version 2 (10_000 points). |
||
=={{header|F Sharp|F#}}== |
=={{header|F Sharp|F#}}== |