Разница между жадным алгоритмом и алгоритмом «разделяй и властвуй»

Опубликовано: 14 Февраля, 2023

Разделяй и властвуй Алгоритм:

Разделяй и властвуй — это алгоритмическая парадигма, в которой задача решается с помощью стратегии «Разделяй, властвуй и комбинируй».

Типичный алгоритм «разделяй и властвуй» решает проблему, используя следующие три шага:

  • Divide: This involves dividing the problem into smaller sub-problems.
  • Conquer: Solve sub-problems by calling recursively until solved.
  • Combine: Combine the sub-problems to get the final solution of the whole problem.

Жадный алгоритм:

Жадный алгоритм определяется как метод решения задач оптимизации путем принятия решений, которые приводят к наиболее очевидной и непосредственной выгоде независимо от конечного результата . Это простой, интуитивно понятный алгоритм, который используется в задачах оптимизации.

Разница между жадным алгоритмом и алгоритмом «разделяй и властвуй»:

Сл.№

Разделяй и властвуй

Жадный алгоритм

1

Разделяй и властвуй используется для получения решения данной проблемы, а не для достижения оптимального решения. Жадный метод используется для получения оптимального решения поставленной задачи.

2

В этом методе проблема разбивается на небольшие подзадачи. Эти подзадачи решаются независимо. Наконец, все решения подзадач собираются вместе, чтобы получить решение данной проблемы. В жадном методе генерируется набор допустимых решений, и выбирается одно из возможных решений, которое является оптимальным решением.

3

Принцип «разделяй и властвуй» менее эффективен и медленнее, потому что он рекурсивен по своей природе. Жадный метод сравнительно эффективен и быстрее, поскольку он итеративный по своей природе.

4

Разделяй и властвуй может привести к дублированию решений. В жадном методе оптимальное решение генерируется без повторного просмотра ранее сгенерированных решений, что позволяет избежать повторного вычисления.

5

Алгоритмы «разделяй и властвуй» обычно выполняются за полиномиальное время. Жадные алгоритмы также работают за полиномиальное время, но требуют меньше времени, чем разделяй и властвуй.

6

Примеры: сортировка слиянием,
Быстрая сортировка,
Умножение матриц Штрассена.
Примеры: задача о дробном рюкзаке,
Проблема выбора деятельности,
Проблема последовательности выполнения заданий.