Виберіть всі загальні методи розв’язку задач, корисні для розробки алгоритмів:
Цей метод проектування алгоритмів, пов’язаний зі зведенням важкої задачі до послідовності більш простих задач.
Метод припускає таку декомпозицію (розбиття) завдання розміру n на дрібніші завдання, що на основі рішень цих дрібніших задач можна отримати рішення початкового завдання.
–Декомпозиція
задачі
–Розв'язок
підзадач
–Композиція
розв'язків
Цей метод проектування алгоритмів, застосовується тільки у тих випадках , якщо підзадачі будуть приблизно однакового розміру. Виберіть всі варіанти:
Виберіть всі варіанти методу проміжних цілей для розробки алгоритмів:
Загальний підхід до побудови складається в перерахунку всіх вимог до точного розв’язку та поділу вимог на два класи, наприклад,
–ті,
які легко задовольнити
–ті,
які не легко задовольнити
або
–ті,
які повинні бути виконані обов’язково
–ті,
по відношенню до яких можна піти на компроміс.
Чи вірне це ствердження?Обчисліть часову складність алгоритму в нотації bigO для наступного коду:
Прикладами
"жадібних" алгоритмів є алгоритми : (вкажіть всі варіанти)
Розглянемо невелике "дитяче" завдання.
Допустимо, що у нас є монети номіналом у 25, 10, 5 копійок і 1 копійка і потрібно повернути здачу 63 копійки. Майже не роздумуючи, ми перетворимо цю величину в дві монети по 25 копійок, одну монету в 10 копійок і три монети по одній копійці.
Алгоритм, яким в цьому випадку напевно скористалися, складався у виборі монети найбільшого номіналу, але не більше 63 копійок, додаванню її в список здачі і відніманню її вартості з 63 і т.д.