Порівняйте досвід онлайн‑покупок
Відчуйте на практиці силу ефективності алгоритмів! Запустіть наданий код і порівняйте продуктивність чотирьох різних алгоритмів (bubble sort і лінійного пошуку, а також quick sort і бінарного пошуку).
Кодувати не потрібно. Змініть лише параметр і подивіться, як алгоритми працюють за різних умов. Змініть параметр угорі з назвою num_items. (Цей параметр моделює, скільки товарів у каталозі інтернет‑крамниці).
Запустіть код, порівняйте результати й зверніть увагу: коли збільшуємо з 1000 до 10000, наскільки довше виконується один варіант порівняно з іншим.
Уявіть, наскільки кращим (тобто швидшим) був би ваш досвід із однією з цих пар алгоритмів порівняно з іншою, якщо потрібно відсортувати список товарів за ціною на сайті електронної комерції.
Ця вправа є частиною курсу
Концепції комп'ютерних наук
Інструкції до вправи
- Задайте будь‑яке значення для
num_items, щоб виконати порівняння. (напр.: уявімо, що на www.amazon.com є 1 000 товарів, тоді встановітьnum_items = 1000).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Change this parameter
num_items = 1000
####### Leave the code below this line alone ########
catalog = [random.randint(0, num_items) for _ in range(num_items)]
total_time_bubble_linear = time_bubble_sort_and_linear_search(catalog)
catalog = [random.randint(0, num_items) for _ in range(num_items)]
total_time_quick_binary = time_quick_sort_and_binary_search(catalog)
df = pd.DataFrame({"Method": ["Bubble Sort + Linear Search", "Quick Sort + Binary Search"],
"Total Time (seconds)": [total_time_bubble_linear, total_time_quick_binary]})
print(df)