Source
Code ua | Сортування з підрахунком vs Bucket Sort: нестандартні підходи до сорту...
2 000 Views/Reach
2025-03-21 15:17
Message №1469
🔢 Сортування з підрахунком vs Bucket Sort: нестандартні підходи до сортування Коли звичні QuickSort чи MergeSort не підходять, на допомогу приходять Count Sort та Bucket Sort. Вони працюють швидше O(n log n), але лише для певних випадків. 📌 Сортування з підрахунком (Counting Sort) Як працює? 1️⃣ Створюємо масив лічильників для кожного можливого значення. 2️⃣ Підраховуємо, скільки разів кожен елемент зустрічається. 3️⃣ Відновлюємо відсортований масив. Коли застосовувати? ✅ Коли діапазон чисел невеликий (наприклад, оцінки від 0 до 100). ❌ Не підходить для великих діапазонів (наприклад, 0–10⁹) через велику пам’ять. 📌 Bucket Sort Як працює? 1️⃣ Розподіляємо числа по "відрах" (buckets) за певним критерієм. 2️⃣ Сортуємо кожне "відро" окремо (часто за допомогою QuickSort або InsertSort). 3️⃣ Об’єднуємо результати. Коли застосовувати? ✅ Коли розподіл даних рівномірний (наприклад, числа від 0 до 1). ❌ Потребує більше пам’яті, бо використовує додаткові структури. ⚖️ Що вибрати? 🔹 Counting Sort – ідеальний для невеликих цілих чисел. 🔹 Bucket Sort – добре підходить для рівномірно розподілених чисел. Ось такі нестандартні методи сортування! Який алгоритм тобі здається цікавішим? 🤔Code Ukraine