НачатьНачать бесплатно

Сравнение алгоритмов в контексте онлайн-шопинга

Убедитесь на практике, как важна эффективность алгоритма! Запустите предложенный код и сравните производительность четырёх алгоритмов: сортировки пузырьком и линейного поиска, а также быстрой сортировки и бинарного поиска.

Писать код не нужно. Измените один параметр и посмотрите, как алгоритмы справляются в разных условиях. Задайте значение параметра 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)
Редактировать и запускать код