Встречается на собеседованиях • сегодня

Какие знаешь алгоритмы сортировки

Популярные алгоритмы сортировки:

  1. Bubble Sort – простой, но неэффективный (O(n²)).

    python
    def bubble_sort(arr):
        for i in range(len(arr)):
            for j in range(len(arr)-1):
                if arr[j] > arr[j+1]:
                    arr[j], arr[j+1] = arr[j+1], arr[j]
  2. Merge Sort – стабильный, рекурсивный (O(n log n)).

    python
    def merge_sort(arr):
        if len(arr) > 1:
            mid = len(arr)//2
            L, R = arr[:mid], arr[mid:]
            merge_sort(L)
            merge_sort(R)
            i = j = k = 0
            while i < len(L) and j < len(R):
                if L[i] < R[j]:
                    arr[k] = L[i]
                    i += 1
                else:
                    arr[k] = R[j]
                    j += 1
                k += 1
            arr[k:] = L[i:] or R[j:]
  1. Quick Sort – эффективный (O(n log n) в среднем, O(n²) в худшем).

    python
    def quick_sort(arr):
        if len(arr) <= 1:
            return arr
        pivot = arr[len(arr)//2]
        left = [x for x in arr if x < pivot]
        middle = [x for x in arr if x == pivot]
        right = [x for x in arr if x > pivot]
        return quick_sort(left) + middle + quick_sort(right)
  2. Heap Sort – на основе бинарной кучи (O(n log n)).

  3. Insertion Sort – эффективен для почти отсортированных данных (O(n²)).

Выбор алгоритма зависит от данных: размер, степень упорядоченности, требования к памяти.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы