January 2018
Intermediate to advanced
374 pages
9h 53m
English
Let's see how std::nth_element() and std::partial_sort()measure up against std::sort(). We've measured with 10,000,000 elements in total and a partial range of 1,000,000 elements:
| Operation | Code, where r is the range operated on | Speed up: |
| Sort | sort(r.begin(), r.end()); | 1.00x |
| Find median | auto middle = r.begin() + r.size() / 2;nth_element(r.begin(), middle, r.end()); | 12.41x |
|
Find the values as if fully ordered From left_idx to right_idx List unordered |
auto left_it = r.begin() + left_idx;auto right_it = r.begin() + right_idx;nth_element(r.begin(), left_it,r.end());nth_element(left_it, right_it, r.end()); | 8.70x |
|
Find the values as if fully ordered From left_idx to right_idx List ordered |
auto left_it = r.begin() ... |