Динамическое программирование использует массив, который необходимо синхронизировать между потоками, которые ищут отдельные решения.
Жадность - это однопоточная резьба. Может быть сделано многопоточное, но не огромное преимущество imo. В любом случае, вы можете использовать пул потоков для съемки с лучшими 5 матчами ... Это было бы проще всего реализовать.
The Divide and Conquer - рекурсивный. Если вы создадите новый поток, по-прежнему потребуется синхронизация, но он может воспользоваться преимуществами нескольких процессоров. Я думаю, что это будет второй более простой способ для реализации многопоточных.
Характер проблемы, которую вам нужно решить, будет определять, какой метод программирования вы должны использовать, а не номера ядра процессора.
Примите во внимание затраты времени на переключение контекстов между потоками!
Я думаю, что это полностью зависит от проблемы - возможно, вы не сможете использовать ее! – templatetypedef
Это не алгоритмы. Это типы алгоритмов. –
Какова реальная * огромная проблема *, которую вы решаете, пожалуйста? –