Developer Toolbox

Швидке сортування

Обирає одне значення, опорний елемент, і ставить менші значення ліворуч від нього, а більші праворуч. Потім так само робить з кожною частиною.

  • Ω(n log n)
  • Θ(n log n)
  • O(n²)
  • O(log n)
  • ні
  • так
  • порівняння
  • переміщення
  • опорний елемент
  • на остаточному місці
0 / 187 кроків

Глибина рекурсії: 0 · найменша можлива: 4 · найгірша: 23 чекає на опорний елемент

Порівняння Обміни

Натисніть «Відтворити»: лінії показують, як росте вартість сортування

Натисніть «Відтворити» або проходьте алгоритм крок за кроком.

Пробіл: відтворення або пауза. Стрілки ліворуч і праворуч: крок. Home і End: на початок або в кінець.

Спробуйте: Оберіть зворотний список. Опорний елемент завжди найменший або найбільший із решти, тож одна частина порожня, а вартість росте до n².

Як це працює

Тут опорний елемент - останнє значення діапазону. Ідемо зліва направо і кожне значення, не більше за опорний елемент, обміном переносимо в ліву частину. Потім опорний елемент стає між двома частинами і лишається там назавжди. Далі кожну частину сортуємо так само.

Коли варто використовувати

На практиці один із найшвидших способів сортувати, і додаткової пам'яті майже не потребує. Але якщо опорний елемент щоразу поганий, наприклад на вже відсортованому списку, сортування стає повільним. Тому на практиці опорний елемент обирають ретельніше.