Sobes.tech
Junior — Middle
143

Алгоритмдин мисалын сүрөттөп бериңиз жана анын убакыттык татаалдыгын баа бериңиз.

Кайсыл жерде компаниялар сурады
AndersenAndersen

AIден жооп

sobes.tech AI

Рассмотрим пример алгоритма сортировки массива чисел методом пузырька (Bubble Sort):

Идея: проходить по массиву, сравнивать соседние элементы и менять их местами, если они идут в неправильном порядке. Повторять проходы, пока массив не будет отсортирован.

Пример на Dart (Flutter):

void bubbleSort(List<int> arr) {
  int n = arr.length;
  for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < n - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        int temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
}

Временная сложность этого алгоритма — O(n²), где n — количество элементов в массиве. Это связано с тем, что в худшем случае алгоритм делает примерно n проходов по массиву, и на каждом проходе сравнивает элементы почти n раз.

Такой алгоритм прост, но неэффективен для больших данных. Для более эффективной сортировки используют алгоритмы с лучшей сложностью, например, быструю сортировку (QuickSort) или сортировку слиянием (MergeSort).