Главная Новости

Пузырьковая панель

Опубликовано: 31.08.2022

Пузырьковая панель

 

Сортировка — одна из самых основных проблем информатики. Он заключается в упорядочении определенного набора данных по определенному критерию, смотрите сюда. Наиболее распространенными критериями для этого являются значения элементов, например, сортировка чисел по возрастанию, сортировка слов по алфавиту и т. д.

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

Наиболее важными параметрами алгоритмов сортировки (как и всех остальных) являются алгоритмическая сложность и требования к памяти. Алгоритмы сортировки, требующие дополнительной памяти, называются внешними. Алгоритмы, которым не требуется больше определенного фиксированного объема памяти (отсортированные данные все время хранятся в одной и той же структуре, например в массиве), называются алгоритмами сортировки на месте.

Второй важный параметр — алгоритмическая сложность. Не вдаваясь в более длинные рассуждения, можно лишь отметить, что пессимистичные алгоритмы имеют сложность \(O(n^2)\), алгоритмы с хорошей сложностью работают за \(O(n\cdot \ log n) \) и в идеале \ (O (n) \) (мы говорим, что они выполняются за линейное время).

Давайте подробнее рассмотрим основные алгоритмы сортировки.

Пузырьковая сортировка

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

 

Рассмотрим, каковы требования этого алгоритма. Для массива длиной \ (n \) нам нужно делать сравнения \ (n-1 \) на каждом проходе. Кроме того, в пессимистическом варианте должно быть выполнено \(n\) прогонов, поэтому общая сложность алгоритма составляет \(O(n^2)\). При этом все операции выполняются над одним и тем же массивом, к тому же это алгоритм, работающий на месте (требования к памяти \ (O (1) \).< /p>

Как видите, поток алгоритма подталкивает самый большой элемент в конец. Поэтому мы можем улучшить алгоритм, сокращая поиск по последней позиции после каждого прогона. Окончательный алгоритм:

 

Опубликовано: 31.08.2022 | Исправлено: 31.08.2022



Zhutova Nastyuha Stanislavovna
31.08.2022 в 18:40
Пузырьковые водные стены уже давно используются дизайнерами интерьеров и на сегодняшний день являются одним из самых популярных направлений в сфере водной санации. Будь то офис или кафе, ночной клуб или ресторан, гостиница или квартира – стены из пузырьковой воды помогут создать уютную и спокойную атмосферу, располагающую к отдыху и релаксации. Все это делается благодаря свойствам воды, которая наполнена прозрачными полыми конструкциями водяных стенок пузырьков.

Все комментарии
rss