В некотором смысле, если бы мы делали это параллельно на разных узлах, вы бы сэкономили время для работы. Но если мы говорим о сложности (это то, что мы обычно называем ускорением), нам нужно немного проанализировать.
Вы согласны с тем, что нам нужны операции для непараллельного случая. Скажем, у нас есть два узла, и мы разделяем список из N элементов на два списка размером . Поиск в подсписках занимает около .N−−√N1,N2N1−−−√,N2−−−√
Однако у нас есть
N−−√=N1+N2−−−−−−−√≤N1−−−√+N2−−−√
И вам все равно нужно будет проверить, какой выход из того, что возвращается параллельными процессами, является тем, который вы ищете. Это добавляет константу сложности, поэтому мы обычно скрываем ее в обозначенииO
Тем не менее, это все равно будет интересно, особенно если нам придется кластеризовать аппаратное обеспечение, потому что мы ограничены в количестве кубитов или других ограничений.