Сортировка массива методом пузырька - алгоритм и задачи
Общая характеристика
Сортировка — упорядочение списка объектов. Выделяют 2 основных типа. Если количество объектов достаточно мало для размещения в основной памяти, она называется внутренней. Внешняя — число данных настолько велико, что некоторые находятся во внешнем хранилище.
Примеры алгоритмов сортировки:
- блочная;
- пузырьковая;
- пирамидальная;
- вставками;
- выбором;
- слиянием.
Все они имеют общую цель — вывести отсортированный список или массив, но способ, которым каждый выполняет эту задачу, отличается. При работе с любым типом важно знать, насколько быстро он работает и какое количество памяти использует, другими словами, его сложность, пространственную и временную.
Сложность алгоритмов
Тему сложности алгоритмов часто трудно понять многим программистам и студентам, они стараются пропускать ее. На сам деле она довольна проста. Сложность — это способ измерения того, как быстро работает программа.
Время выполнения описывает, сколько операций должен выполнить алгоритм до его завершения. Пространственная сложность — сколько места должно быть выделено для запуска. Например, если алгоритм принимает список размером n и по какой-то причине создает новый с таким же для каждого элемента в n, то требуется пространство n2 . Кроме того, иногда полезно знать устойчивость выполнения. Алгоритм стабилен, если он сохраняет исходный порядок элементов с одинаковыми значениями.
Таблица сложности алгоритмов:
| Алгоритм | Пространственная сложность | Худший случай | Средний случай | Лучший случай | Стабильный |
| Сортировка слиянием | О (n) | O (n lоg n) | O (n log n) | O (n lоg n) | Да |
| Сортировка вставками | О (1) | O (n 2 ) | O (n 2 ) | O (n) | Да |
| Сортировка пузырьком | О (1) | O (n 2 ) | O (n 2 ) | O (n) | Да |
| Быстрая | lоg n | O (n 2 ) | O (n log n) | O (n lоg n) | Обычно нет* |
| Сортировка блоками | O (1) | O (n lоg n) | O (n log n) | O (n lоg n) | Нет |
| Сортировка подсчетом | O (k+n) | O (k+n) | O (k+n) | O (k+n) | Да |
* Большинство реализаций быстрой сортировки не стабильны, хотя они существуют.
При выборе используемого алгоритма нужно взвесить эти факторы. Например, быстрая является очень шустрой, но ее может быть довольно сложно реализовать. Пузырьковая сортировка — медленный алгоритм, но его очень легко сделать. Для небольших наборов данных может быть лучше использовать вторую, поскольку она может быть реализована не так трудно, но для больших стоит использовать быструю.
Сортировка пузырьком
Этот метод, вероятно, является первым достаточно сложным модулем, который должен написать любой начинающий программист. Это очень простая конструкция, которая знакомит учащихся с основами работы алгоритмов.
Пузырьковая (обменная) использует двумерный или одномерный массив и механизм обмена. Большинство языков программирования имеют встроенную функцию для перестановки элементов. Даже если функция обмена не существует, требуется всего пара дополнительных строк кода. Вместо перебора массива, пузырьковая работает по схеме сравнения соседних пар объектов. Шаги:
- Если элементы расположены не в правильном порядке, они меняются местами так, что самый большой из двух перемещается вверх. Этот процесс продолжается до тех пор, пока самый большой из объектов, не окажется на первом месте.
- После этого начинается поиск следующего по величине элемента.
- Перестановка остановится, когда весь массив окажется в правильном порядке.
Сортировка пузырьком на Pascal (Паскаль):
Сортировка массива методом пузырька на Python (Питон):
На Java:
Из-за своей простоты этот метод часто используется для представления концепции алгоритма сортировки. В компьютерной графике она популярна благодаря своей способности выявлять очень маленькую ошибку (например, перестановку всего двух элементов) в почти отсортированных массивах и исправлять ее с помощью линейной сложности.
Также используется в алгоритме заполнения полигонов, где ограничивающие линии сортируются по их координате «x» на конкретной сканирующей прямой (параллельной оси абсцисс), а с увеличением «y» их порядок изменяется только на пересечениях двух контурах.
Какой способ обработки данных выбрать, специалист решает сам, в зависимости от времени и объема информации.
Школьная программа без скуки: смысл произведений за 3 минуты, тесты на знание классики и ловушки русского языка. Короткие статьи, которых нет на сайте.
Перемена: игры на пять минут
Все тесты
- Английский язык
- Биология
- Химия
- География
- Окружающий мир
- История
- Русский язык
- Литература
- Биографии
- Краткие содержания
- Анализ стихотворений
- Орфография
- Правоведение
- Пунктуация
- Математика
- Подготовка к ЕГЭ
- Помощь студенту
- Физкультура
- Экономика
- ОБЖ
- Сочинения
- Обществознание
- Стихи
- Физика
- Информатика
- Религия
- Фонетический разбор
- Тест на тему To be going to: значение, правила употребления 5 вопросов
- Тест на тему Конструкция go on: значения, правила употребления, примеры 5 вопросов
- Тест на тему Be familiar with: значение и правила употребления 5 вопросов
- Тест на тему Британский vs американский английский: в чем разница? 5 вопросов
- Тест на тему Be mad about - как переводится и как использовать в речи 5 вопросов
- Тест на тему Be hooked on в английском языке: значение и примеры предложений 5 вопросов
- Тест на тему История сибирской язвы и как она стала оружием 5 вопросов
- Тест на тему Что такое “железное легкое” и как жилось узникам аппарата 5 вопросов
- Тест на тему Суть и методы клеточной инженерии 5 вопросов
- Тест на тему Злаковые растения - общая характеристика, признаки и список представителей 7 вопросов
- Тест на тему Семейство бобовые - общая характеристика, строение и представители 7 вопросов
- Тест на тему Суровый климат тайги: особенности, влияние на природу 10 вопросов
- Тест на тему Острова и полуострова Зарубежной Европы 10 вопросов
- Тест на тему Уровень урбанизации Африки: города растут, вызовы множатся 5 вопросов
- Тест на тему Уровень и особенности урбанизации Канады 5 вопросов
- Тест на тему Как найти полярную звезду и зачем ее искать? 5 вопросов
- Тест на тему Что нужно знать про контурные карты 5 вопросов
- Тест на тему Сколько в нашем мире языков? 10 вопросов
- Тест на тему Золото: сколько его осталось на планете и что это значит для нас? 10 вопросов
- Тест на тему Русские по всему земному шару: сколько нас на самом деле? 10 вопросов
- Тест на тему Сколько всего в мире фамилий? 10 вопросов
- Тест на тему Сколько всего в мире самолетов? 10 вопросов
- Тест на тему Сколько всего в мире денег? 10 вопросов
- Тест на тему Команда реформ: сподвижники Петра I 10 вопросов
- Тест на тему Экономика и управление: реформы Афанасия Ордина-Нащокина 10 вопросов
- Тест на тему Положение крестьян и указ Павла I о трехдневной барщине 10 вопросов
- Тест на тему Программа Южного общества и декабрист П. И. Пестель 10 вопросов
- Тест на тему Комитет общественного блага или Негласный комитет 10 вопросов
- Тест на тему Планы переустройства России: «Конституция» Муравьева 10 вопросов
- Тест на тему Как выполнить разбор наречия по составу 5 вопросов
- Тест на тему Правила правописания суффиксов наречий 5 вопросов
- Тест на тему Морфологический признак наречий: неизменяемость 5 вопросов
- Тест на тему Чем отличаются и как найти тему и рему в тексте? 5 вопросов
- Тест на тему Способы и примеры образования наречий 5 вопросов
- Тест на тему Особенности и применение составных предлогов 5 вопросов
- Тест на тему История создания рассказа «Матренин двор» А. Солженицына 5 вопросов
- Тест на тему История создания песни «Смуглянка» 5 вопросов
- Тест на тему История создания поэмы “Кому на Руси жить хорошо” Н. Некрасова 5 вопросов
- Тест на тему История создания романа “Как закалялась сталь” Н. Островского 5 вопросов
- Тест на тему История создания оперы М. Глинки «Иван Сусанин» 5 вопросов
- Тест на тему История создания знаменитой песни “Катюша” 5 вопросов
- Тест на тему Биография Владимира Вольфовича Жириновского 5 вопросов
- Тест на тему Биография поэта и писателя Льва Рубинштейна 5 вопросов
- Тест на тему Биография президента Белоруссии Александра Лукашенко 5 вопросов
- Тест на тему 10 интересных фактов про Афанасия Фета 5 вопросов
- Тест на тему 10 интересных фактов про Ивана Тургенева 5 вопросов
- Тест на тему Биография писателя и поэта Вячеслава Урюпина 5 вопросов
- Тест на тему Краткое содержание повести «А тем временем где-то» А. Алексина 5 вопросов
- Тест на тему Краткое содержание комедии «Мнимый больной» Жана-Батиста Мольера 5 вопросов
- Тест на тему Краткое содержание комедии “Доходное место” А. Островского 5 вопросов
- Тест на тему Краткое содержание новеллы “Падение дома Ашеров” Эдгара По 5 вопросов
- Тест на тему Краткое содержание рассказа “Крепкий мужик” В. Шукшина 5 вопросов
- Тест на тему Краткое содержание пьесы «Золотая карета» Л. Леонова 5 вопросов
- Тест на тему Анализ стихотворения “Каким бы малым ни был...” К. Кулиева 5 вопросов
- Тест на тему Анализ стихотворения «Цицерон» Ф. Тютчева 5 вопросов
- Тест на тему Анализ стихотворения “Поэт” М. Лермонтова 5 вопросов
- Тест на тему Анализ стихотворения “Пора, мой друг, пора” А. Пушкина 5 вопросов
- Тест на тему Анализ стихотворения «Шестое чувство» Н. Гумилева 5 вопросов
- Тест на тему Анализ стихотворения “Юбилейное” В. Маяковского 5 вопросов
- Тест на тему Особенности раздельного написания местоимений с предлогами 5 вопросов
- Тест на тему Правописание падежных окончаний прилагательных 5 вопросов
- Тест на тему Правописание слов с непроверяемой безударной гласной в корне 5 вопросов
- Тест на тему Нужно ли ставить запятую к фразе - "с уважением"? 5 вопросов
- Тест на тему «Во-вторых» или «во вторых» – как правильно пишется? 5 вопросов
- Тест на тему "Нету" или "нет" - как правильно писать и говорить? 5 вопросов
- Тест на тему Что нужно сдавать на бухгалтера? 5 вопросов
- Тест на тему Какие предметы нужно сдавать на пилота 5 вопросов
- Тест на тему Какие экзамены нужно сдавать на фотографа? 5 вопросов
- Тест на тему Какие предметы нужно сдавать на хореографа? 5 вопросов
- Тест на тему Какие предметы нужно сдавать на актера? 5 вопросов
- Тест на тему Какие предметы нужно сдавать на режиссера? 5 вопросов
- Тест на тему Реферат по физкультуре на тему: «Здоровое питание» 5 вопросов
- Тест на тему История развития лыжного спорта в разных странах - классификация и интересные факты 6 вопросов
- Тест на тему Важность самоконтроля при занятиях спортом 5 вопросов
- Тест на тему Как выполняются прыжки через козла? 5 вопросов
- Тест на тему Что такое здоровый образ жизни? 5 вопросов
- Тест на тему Как правильно выполнять кувырки? 5 вопросов
- Тест на тему Образ Шарикова в повести «Собачье сердце» М. Булгакова 5 вопросов
- Тест на тему Образы героев в повести «Невский проспект» Н. Гоголя 5 вопросов
- Тест на тему Московские главы в романе «Мастер и Маргарита» Булгакова 7 вопросов
- Тест на тему Описание образа бирюка из рассказа И. Тургенева 7 вопросов
- Тест на тему Образы героев в романе «Отцы и дети» И. Тургенева 7 вопросов
- Тест на тему Образы героев в повести «Котлован» А. Платонова 7 вопросов
- Тест на тему "Банты" - как правильно ставить ударение в слове? 5 вопросов
- Тест на тему «Конечно же» - выделяется ли слово запятыми? 5 вопросов
- Тест на тему «Подчеркивать» – как правильно ставить ударение в слове? 5 вопросов
- Тест на тему «Лифты» – как правильно ставить ударение в слове? 5 вопросов
- Тест на тему «Строку» – как правильно ставить ударение в слове? 5 вопросов
- Тест на тему «Апостроф» – как правильно ставить ударение в слове? 5 вопросов





