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

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

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

  1. Пузырьковая сортировка (Bubble Sort)
    Простой, но неэффективный (O(n²)). Сравнивает соседние элементы и меняет их местами.
    javascript
    function bubbleSort(arr) {
      for (let i = 0; i < arr.length; i++) {
        for (let j = 0; j < arr.length - i - 1; j++) {
          if (arr[j] > arr[j + 1]) {
            [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
          }
        }
      }
      return arr;
    }
  1. Быстрая сортировка (Quick Sort)
    Эффективный (O(n log n) в среднем). Использует подход "разделяй и властвуй".

    javascript
    function quickSort(arr) {
      if (arr.length <= 1) return arr;
      const pivot = arr[0];
      const left = [], right = [];
      for (let i = 1; i < arr.length; i++) {
        arr[i] < pivot ? left.push(arr[i]) : right.push(arr[i]);
      }
      return [...quickSort(left), pivot, ...quickSort(right)];
    }
  2. Сортировка слиянием (Merge Sort)
    Стабильный (O(n log n)), но требует дополнительной памяти.

  3. Сортировка выбором (Selection Sort)
    O(n²), находит минимальный элемент и помещает его в начало.

  4. Встроенные методы
    В JS: array.sort(), но для чисел нужно передавать компаратор:

    javascript
    [3, 1, 2].sort((a, b) => a - b); // [1, 2, 3]

Для фронтенда чаще всего хватает встроенной сортировки, но понимание алгоритмов помогает в оптимизации.

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

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

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

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