< Return to Video

Algorithms Lesson 1: Bubblesort

  • 0:10 - 0:13
    Занятие 1 Пузырьковая сортировка
  • 0:13 - 0:17
    Для этого курса вам понадобятся базовые знания алгебры
  • 0:18 - 0:22
    Пузырьковая сортировка это простейшая процедура сортировки
  • 0:22 - 0:25
    В этом контексте сортировка означает упорядочивание масссива
  • 0:25 - 0:27
    данных в виде целых чисел
  • 0:28 - 0:32
    Сначала представьте массив с элементами, которые мы хотим сортировать
  • 0:32 - 0:35
    Мы используем пустой массив для примера
  • 0:35 - 0:38
    Алгоритм пузырьковой сортировки описывается следующим образом
  • 0:39 - 0:44
    Мы сравниваем первые два элемента массива и, если они не подряд , мы меняем их позиции
  • 0:44 - 0:49
    продолжаем делать это для соседних элементов массива до последнего элемента
  • 0:49 - 0:53
    На этом этапе последний элемент является самым большим в массиве
  • 0:53 - 0:57
    далее мы повторяем процедуру для всех пар, кроме последнего
  • 0:57 - 1:01
    до тех пор пока масссив полностью не отсортирован
  • 1:07 - 1:12
    Теперь заполним массив данными, чтобы показать работу алгоритма
  • 1:12 - 1:14
    Начнем с сравнения 5 с 9
  • 1:14 - 1:17
    Поскольку 5 меньше 9, мы ничего не делаем
  • 1:17 - 1:20
    Затем мы сравниваем 9 с 2
  • 1:20 - 1:24
    Поскольку 9 больше 2, мы меняем их местами
  • 1:24 - 1:30
    Делаем то же самое, пока 9, который является самым большим элементом, не достигнет последней позиции
  • 1:30 - 1:33
    Вот почему алгоритм получил название пузырьковой сортировки
  • 1:33 - 1:35
    Когда 9 достигает последней позиции
  • 1:35 - 1:41
    мы продолжаем со следующими шагами алгоритма и сортируем массив
  • 1:51 - 1:54
    Псевдокод для алгоритма Пузырьковой сортировки довольно прост
  • 1:54 - 1:57
    Всего эти 4 строки что вы видите
  • 1:59 - 2:02
    Пузырьковый алгоритм медленный
  • 2:02 - 2:06
    Чтобы показать вам, что мы имеем в виду, мы рассчитаем его производительность
  • 2:06 - 2:09
    Предположим, у нас есть массив N элементов
  • 2:09 - 2:13
    В первом проходе мы выполняем n-1 сравнений
  • 2:13 - 2:16

    чтобы перейти к самому большому предмету в конце массива
  • 2:16 - 2:19
    В следующем шаге мы выполним n-2 сравнения
  • 2:19 - 2:22
    и продолжая таким же образом, мы получаем следующую сумму:
  • 2:22 - 2:24
    Количество сравнений = (n-1) + (n-2) + ... + 1
  • 2:24 - 2:37
    по операциям указанная сумма равна n (n-1) / 2, что равно (n ^ 2)/2 - n / 2
  • 2:37 - 2:42
    При больших значениях n ^ 2 превалирует над другими членами
  • 2:42 - 2:48
    и мы говорим, что пузырьковый алгоритм имеет сложность порядка n ^ 2
Title:
Algorithms Lesson 1: Bubblesort
Video Language:
Greek
Duration:
02:53

Russian subtitles

Revisions