26
ソートされた配列を処理する方が、ソートされていない配列を処理するよりも速いのはなぜですか?
OverаэтотвопросестьответынаStack Overflowнарусском:Почемуотсортированныймассивобрабатов、еессененеренененеререненееетсябыстре 以下は、非常に奇妙な動作を示すC ++コードの一部です。奇妙な理由で、データを奇妙にソートすると、コードがほぼ6倍速くなります。 #include <algorithm> #include <ctime> #include <iostream> int main() { // Generate data const unsigned arraySize = 32768; int data[arraySize]; for (unsigned c = 0; c < arraySize; ++c) data[c] = std::rand() % 256; // !!! With this, the next loop runs faster. std::sort(data, data + arraySize); …