Сравнение алгоритмов в контексте онлайн-шопинга
Убедитесь на практике, как важна эффективность алгоритма! Запустите предложенный код и сравните производительность четырёх алгоритмов: сортировки пузырьком и линейного поиска, а также быстрой сортировки и бинарного поиска.
Писать код не нужно. Измените один параметр и посмотрите, как алгоритмы справляются в разных условиях. Задайте значение параметра num_items в верхней части кода. (Этот параметр задаёт количество товаров в каталоге интернет-магазина.)
Запустите код, сравните результаты и обратите внимание: насколько дольше работает один вариант по сравнению с другим при увеличении числа элементов с 1000 до 10000.
Подумайте, насколько быстрее работал бы поиск и сортировка товаров по цене в интернет-магазине с одной парой алгоритмов по сравнению с другой.
Это упражнение является частью курса
Основы информатики
Инструкции к упражнению
- Задайте для
num_itemsлюбое число, которое хотите сравнить. (Например, представьте, что на сайте www.amazon.com есть 1000 товаров, и установите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)