13 - 1
§3.3. Сортування даних у списках. Пошук у списках даних, які відповідають певним умовам (117-125)
Як алгоритм Timsort змусив Python сортувати мільйони елементів блискавично
Коли ви викликаєте вбудовану функцію сортування в Python (.sort() або sorted()), під капотом працює складний і високоефективний гібридний алгоритм Timsort, розроблений Тімберлейком Патерсоном у 2002 році (він поєднує сортування злиттям та сортування вставками). Завдяки своїй адаптивності він миттєво знаходить і використовує вже частково впорядковані фрагменти в реальних даних, що робить його одним із найшвидших універсальних алгоритмів сортування, який сьогодні також використовується в системах Android, Java та Swift.
Домашній міні-експеримент: «Блискавичний пошук та впорядкування хаосу»
Мета: Наочно дослідити роботу вбудованих методів сортування списків та реалізувати алгоритм пошуку елементів, що задовольняють задану умову в Python.
Обладнання: Комп'ютер або смартфон із середовищем програмування на Python (IDLE, Thonny, PyCharm або онлайн-інтерпретатор).
Хід роботи:
Створіть новий файл сценарію та введіть список довільних несортованих чисел:
data = [45, 12, 89, 3, 56, 23, 78, 15].Відсортуйте список за зростанням за допомогою методу
.sort()та виведіть його на екран:data.sort(),print("За зростанням:", data).Виконайте пошук елементів за умовою, наприклад, знайдіть індекс першого числа, яке більше за 50, скориставшись циклом або методом пошуку.
Що відбувається: Метод
.sort()змінює структуру масиву на місці, впорядковуючи елементи від найменшого до найбільшого. Коли дані впорядковані, пошук потрібних значень (лінійний або бінарний) стає значно простішим і швидшим для програмного опрацювання.
