Найти тему
ProWeb

Алгоритмы. Сортировка пузырьком

Оглавление

Всем привет! Эта публикация продолжает цикл статей посвященных алгоритмам в программировании. В предыдущей статье мы разобрали что такое алгоритм, поговорили про "O-большое" и написали наш первый алгоритм - бинарный поиск.

Сейчас я хочу поговорить о сортировке и разобраться, что такое сортировка пузырьком, как она работает и насколько она эффективна.

Меня зовут Антон. Я занимаюсь front-end разработкой и сейчас я расскажу вам об алгоритме сортировки пузырьком.

Сортировка

-2

Если говорить про принцип работы бинарного поиска, то важно помнить, что этот алгоритм работает только в отсортированном массиве. При попытке вызвать его в неупорядоченном списке элементов, алгоритм даст сбой и ничего хорошего из этого не выйдет, он просто потеряет свою эффективность и не выполнит поставленную задачу.

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

Сортировка пузырьком

-3

Один из вариантов сортировки массива - сортировка пузырьком.

Сортировка пузырьком — один из самых известных алгоритмов сортировки. Здесь нужно последовательно сравнивать значения соседних элементов и менять числа местами, если предыдущее оказывается больше последующего. Таким образом, элементы с большими значениями оказываются в конце списка, а с меньшими остаются в начале.

Называется он так из-за того, что элементы при сортировке всплывают на поверхность массива подобно пузырькам

Пример

-4

Этот алгоритм считается учебным и почти не применяется на практике из-за низкой эффективности: он медленно работает на тестах, в которых маленькие элементы (их называют «черепахами») стоят в конце массива. Однако на нём основаны многие другие методы, например, шейкерная сортировка и сортировка расчёской

Поэтому не стоит применять его на практике. Однако, несмотря на его неэффективность вопросы про него часто встречаются на собеседованиях

Пример реализации сортировки пузырьком на JavaScript:

-5

#it #web #proweb #frontend #code #top #код #алгоритмы #программирование #сортировка