Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ASD_Lecture02

.pdf
Скачиваний:
21
Добавлен:
12.02.2016
Размер:
1.02 Mб
Скачать

Теорія алгоритмів

Правила визначення складності (2)

оператори if-then-else 1.if (condition) {

2. послідовність операторів 1 3.}

4.else {

послідовність операторів 2}

Або виконається набір 1, або набір 2. Tому, найгірший час є найповільніший з двох можливих: max(час(послідовність

1), час(послідовність 2)). Наприклад, якщо набір 1 є O(N) і набір 2 є O(1) найгірший час буде O(N).

Лекція 2

Теорія алгоритмів

Правила визначення складності (2)

Цикл for

for (i = 0; i < N; i++) {

набір операторів

}

Цикл виконується N раз, отже набір операторів також виконується N раз. Якщо припустити, що складність

набору операторів є O(1), загальнйи час для циклу буде N * O(1), що є O(N).

Лекція 2

Теорія алгоритмів

Правила визначення складності (2)

Вкладені цикли for (i = 0; i < N; i++) {

for (j = 0; j < M; j++) {

послідовність операторів

}

}

Зовнішній цикл виконується N разів. Кожного разу, коли виконується зовнішній цикл, внутрішній цикл виконується M раз. У результаті оператори внутрішнього циклу виконаються N * M раз. Отже, складність є O(N * M). Якщо умова завершення внутрішнього циклу є j < N замість j < M (тобто, внутрішній цикл теж виконується N раз), загальна складність для двох циклів дорівнює O(N2).

Лекція 2

Теорія алгоритмів

Приклад

Нехай у нас є 5 алгоритмів A1,…,A5 із наступними часовими складностями:

Припустимо, що наступне покоління ЕОМ буде в 100 разів швидше теперішнього.

Часова складність - це кількість одиниць часу, необхідного для оброблення входу

розміру n. Подивимося, як зростуть розмірності задач, які ми зможемо вирішити

Теорія алгоритмів

Приклад

Тепер замість ефекту збільшення швидкості розглянемо ефект від застосування більш дієвого алгоритму. Оцінимо, як змінюється розмір завдання, яке можна вирішити алгоритмами A1 ... A5 за 1 хвилину і 1 годину.

вище алгоритмів.

З таблиці випливає, що відмінність між алгоритмами з різною асимптотичної складністю стає ще більш суттєвим при збільшенні часу обчислень.

Лекція 2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]