Кажется, что лучшая сложность была бы линейной O (n).
Не имеет значения, на самом деле, я говорю о жадных алгоритмах в целом.
Иногда стоит быть жадным?
В конкретном случае, который меня интересует, будет вычисление изменений.
Скажем, вам нужно дать 35 центов в обмен. У вас есть монеты 1, 5, 10, 25. Жадный алгоритм, закодированный просто, решит эту проблему быстро и легко. Сначала набираем 25 центов, самое высокое значение - 35, а затем следующие 10 центов, чтобы завершить итог. Это было бы в лучшем случае. Конечно, есть плохие случаи и случаи, когда у этого жадного алгоритма были бы проблемы. Я говорю о лучшей сложности случая для определения этого типа проблемы.