kzhereb / kpi-acts-ta2020

Materials for "Algorithm theory" course
MIT License
0 stars 0 forks source link

D04.1. Why sort lists/arrays/other data? #16

Open Yuliiaa opened 4 years ago

Yuliiaa commented 4 years ago

D04.1. Why sort lists/arrays/other data? D04.1. Навіщо треба сортувати списки/масиви/інші дані?

Yuliiaa commented 4 years ago

These answers were discussed during lectures:

Це було обговорено під час лекції:

Yuliiaa commented 4 years ago

Discussion from previous years:

Обговорення з попередніх років:

Yuliiaa commented 4 years ago

Коли елементи відсортовані, їх простіше знайти, проводити з ними різні операції. Легше визначити пропущені елементи. Легше знайти загальні елементи двох масивів. Сортування впливає на швидкість алгоритму, в якому потрібно звернутися до певного елемента масиву. Сортування масивів даних істотно прискорює їх подальшу обробку. Деякі завдання з несортованими даними вирішити дуже важко, а деякі просто неможливо.

khilchuk-ol commented 4 years ago

Злиття двох масивів даних в один відсортований буде простішим, якщо менші масиви вже відсортовані.

LavorM commented 4 years ago

Це також доволі корисно для того, щоб знайти пропущені елементи в масиві. Наприкад, якщо в масиві має бути певна послідовність елементів, але додавалися вони випадково і необхідно зрозуміти, яких елементів немає (Це може бути використано наприкад в веб-застосунку, де у користувачів є ID і необхідно знайти які з користувачів не виконали певну дію)

PickDough commented 4 years ago

Корисиний випадок, коли в нас є дані в таблиці (ключ-кілька значень) і ми хочемо, щоб вони відображались за певним порядком: алфавітним, у зростанні/спаданні і тд. Для цього використовується алгоритм сортування, але набагато цікавіший випадок, коли ми хочемо посортувати по новому параметрі, але щоб зберігся також і попередній, тоді можна, наприклад, використовувати хеш-таблицю.

artem-vovchenko01 commented 4 years ago

Також ортування корисне для:

Сортування можна використати для випадкового перемішування елементів (random uniform shuflling). Можна зробити так: