>
Bubble, Selection, Insertion, Merge, Quick Sort — кроки і аналіз
| Алгоритм | Best | Average | Worst | Пам'ять | Стабільний? |
|---|---|---|---|---|---|
| Bubble Sort | O(n) | O(n²) | O(n²) | O(1) | ✅ Так |
| Selection Sort | O(n²) | O(n²) | O(n²) | O(1) | ❌ Ні |
| Insertion Sort | O(n) | O(n²) | O(n²) | O(1) | ✅ Так |
| Merge Sort | O(n log n) | O(n log n) | O(n log n) | O(n) | ✅ Так |
| Quick Sort | O(n log n) | O(n log n) | O(n²) | O(log n) | ❌ Ні |
| Heap Sort | O(n log n) | O(n log n) | O(n log n) | O(1) | ❌ Ні |
Порівнюємо сусідні елементи і міняємо місцями, якщо вони в неправильному порядку. Після i-го проходу i найбільших елементів «спливають» на своїх місцях.
Ділимо масив навпіл рекурсивно до масивів довжиною 1, потім зливаємо пари після сортування. Гарантує O(n log n) завжди, але потребує O(n) доп. пам'яті.
Обираємо опорний елемент (pivot). Розділяємо масив: елементи < pivot ліворуч, > pivot праворуч. Рекурсивно сортуємо частини. Pivot займає своє місце.
Цей тренажер допомагає перевірити та закріпити знання через серію задач з миттєвим зворотним зв'язком. Кожна відповідь супроводжується детальним поясненням — незалежно від того, правильна вона чи хибна.
Вправи розвивають: аналіз складності алгоритмів, реалізацію структур даних, навички розв'язання алгоритмічних задач.
Виконуйте вправи регулярно, навіть по 10–15 хвилин на день. Не пропускайте пояснення — вони містять ключові ідеї, що виходять за межі конкретної задачі. Повертайтесь до складних питань через кілька днів.