Professional Documents
Culture Documents
Лабораторна робота №8
Лабораторна робота №8
Лабораторна робота №8
з дисципліни «Теорія алгоритмів»
Вінниця 2023
Лабораторна робота №8
1
Хід роботи
2
3
3. Алгоритм сортування у графічному вигляді.
Найкращий випадок:
O (n+k)
Найгірший випадок
O (n+k)
Середній випадок
O (n+k)
4
5. Практична оцінка складності відповідного алгоритму в трьох
випадках для масивів різного розміру. Навести таблиці та відповідні
графіки часу виконання програми для трьох випадків. Кількість значень
часу має бути не менше семи. Увага! Мінімальне та максимальне
значення часу кожним студентом підбирається індивідуально, залежно
від потужностей Вашого ПК.
n, кількість елементів
5
Лістинг програми для оцінки часової складності алгоритму методом
злиття для 3 випадків :
import random
import time
def countingSort(arr):
max_val =
max(arr)
count = [0] * (max_val + 1)
sorted_arr = []
for i in range(len(count)):
sorted_arr.extend([i] *
count[i])
return sorted_arr
# Worst Case
worst_case_numbers = list(reversed(numbers)) # Sorted in descending order
# Best Case
best_case_numbers = sorted(numbers) # Already sorted in ascending order
# Average Case
average_case_numbers = list(numbers) # Random order
countingSort(best_case_numbers) best_case_time
= time.time() - start_time
6
# Measure the execution time for average case
start_time = time.time()
countingSort(average_case_numbers)
average_case_time = time.time() - start_time
Переваги:
1.Стійкість (зберігає порядок рівних елементів у вхідному масиві); 2.Ефективність
для обмеженого діапазону значень: Сортування підрахуванням є дуже ефективним
алгоритмом сортування, коли вхідні дані мають обмежений діапазон значень. В
такому випадку, використання масиву підрахунку, де кожному значенню
присвоюється певна позиція, дозволяє відсортувати елементи швидко з часовою
складністю O(n + k), де n - кількість елементів, а k - кількість унікальних значень.
Недоліки:
1. Додаткова пам’ять під список лічильників
2. Не працює добре для наборів даних з великим діапазоном значень.
7
8. Розширені висновки з роботи
8
9.Порівняльна характеристика
9
1
0