QuickSort — выбирает pivot, разделяет массив на элементы меньше и больше, рекурсивно сортирует части. O(n log n) average, O(n²) worst case. In-place, но не стабильный. MergeSort — делит массив пополам, сортирует половины, сливает. O(n log n) всегда, стабильный, но требует O(n) дополнительной памяти. На практике QuickSort обычно быстрее из-за лучшей кеш-локальности. Go sort.Slice использует pattern-defeating quicksort — вариант, который избегает O(n²) на плохих входах.
QuickSort vs MergeSort?
Middle
524 просмотровAFK Offer AI
Как тестировать concurrent код?