русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сортировка методом прямого выбора


Дата добавления: 2013-12-23; просмотров: 2399; Нарушение авторских прав


Эффективность алгоритма сортировки прямого включения

 

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

Так, например, если последовательность уже отсортирована в нужном порядке, то максимальное число сравнений, которое может возникнуть на одном i- м шаге, cmax=i-1, а минимальное – это cmin=1. Если равновероятны все перестановки, то среднее число сравнений cср=i/2. Число перестановок в данной сортировке mi=ci+3 (включая барьер).

Если же массив отсортирован в обратном порядке от заданного, то это худший случай. Число сравнений будет равно сmax=n(n-1)/2, т. Е. – о(n2). Количество перестановок mmax=cmax +3(n-1), т.е. – о(n2).

В этом методе так же присутствуют две последовательности готовая и исходная, первая из которых на каждом шаге увеличивается на один элемент, а вторая уменьшается на один элемент. Отличие состоит в том, что вставляемый элемент в готовую последовательность помещается в её конец, при этом он не сравнивается с другими элементами готовой последовательности. Это возможно за счёт того, что среди элементов исходной последовательности выбирают каждый раз наименьший элемент (если сортируют данные по возрастанию) из всех. Минимальный элемент на i-м шаге будет больше минимального элемента шага i-1, который был найден на предыдущем шаг, поэтому его можно смело располагать в конец готовой последовательности. Найденный минимальный элемент меняется местами с первым элементом исходной последовательности, после чего исходная последовательность уменьшается на один элемент.



Отсортируем методом прямого выбора (табл. 11.2) последовательность элементов: 10, 3, 11, 8, 2, 15, 44, 9 по возрастанию.

Таблица 11.2

Принцип работы сортировки прямым выбором

Шаг Готовая последовательность Исходная последовательность
10, 3, 11, 8, 15, 44, 9
2, 3 10, 11, 8, 15, 44, 9
2, 3, 8 10, 11, 15, 44, 9
2, 3, 8, 9 10, 11, 15, 44
2, 3, 8, 9, 10 11, 15, 44
2, 3, 8, 9, 10, 11 15, 44
2, 3, 8, 9, 10, 11, 15
2, 3, 8, 9, 10, 11, 15, 44  

Блок схема для данного алгоритма приведена ниже (рис. 11.3).



<== предыдущая лекция | следующая лекция ==>
Сортировка методом прямого включения | Эффективность алгоритма сортировки прямого выбора


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.