Параллельный двоичный поиск

Я только начинаю изучать параллельное программирование и смотрю на двоичный поиск.

Это невозможно оптимизировать, добавив больше процессоров, верно? Я знаю, что это предположительно разделяет и побеждает, но на самом деле вы «убываете и побеждаете» (из Википедии ).

Или вы могли бы распараллелить сравнения? (если X меньше, чем array [mid] , поиск от low до mid - 1 ; иначе, если X больше, чем array [mid] поиск от mid + 1 до high , иначе вернет mid , индекс ] X )

Или как насчет того, чтобы отдать половину массива одному процессору для выполнения двоичного поиска, а другую половину - другому? Но разве это не было бы расточительно? Потому что оно убывает и побеждает, а не просто разделяет и побеждает? Мысли?

11
задан shmosel 10 March 2017 в 21:11
поделиться