36546

Алгоритмы обработки одномерных массивов.Сортировка.Сравнить 2 метода

Доклад

Информатика, кибернетика и программирование

Первый шаг сортировки методом пузырька 1Сравниваем первый и второй элементы массива. 2Сравниваем второй и третий элементы массива. 3Cравниваем предпоследний N1 и последний N элементы массива. Повторяем вышеуказанные действия для части массива начиная с 1 позиции до N1 шаг 2.

Русский

2013-09-22

30 KB

2 чел.

Алгоритмы обработки одномерных массивов.Сортировка.Сравнить 2 метода

Метод пызырька.

Основная идея сортировки (например, по возрастанию) методом пузырька очень простая. Предположим, что у нас N элементов в массиве и индекс каждого элемента лежит в промежутке от 1 до N.

Первый шаг сортировки методом пузырька

1)Сравниваем первый и второй элементы массива. Если первый элемент больше, чем второй, то меняем их местами.

2)Сравниваем второй и третий элементы массива. Если второй элемент больше, чем третий, то меняем их местами.

3)Cравниваем предпоследний (N-1) и последний (N) элементы массива. Если предпоследний элемент больше, чем последний, то меняем их местами.

В результате самым последним элементом в массиве у нас окажется самый большой элемент.

Повторяем вышеуказанные действия для части массива, начиная с 1 позиции до N-1 (шаг 2).

Второй шаг сортировки методом пузырька

1(Сравниваем первый и второй элементы массива. Если первый элемент больше, чем второй, то меняем их местами.

2(Сравниваем второй и третий элементы массива. Если второй элемент больше, чем третий, то меняем их местам

3)Cравниваем элемент N-2 и элемент N-1 массива. Если (N-2)-й элемент больше, чем элемент N-1, то меняем их местами.

В результате предпоследний элемент в массиве у нас тоже будет на своем, "отсортированном" месте.

Метод включения

Одним из наиболее простых и естественных методов внутренней сортировки является сортировка с простыми включениями. Идея алгоритма очень проста. Пусть имеется массив ключей a[1], a[2], ..., a[n]. Для каждого элемента массива, начиная со второго, производится сравнение с элементами с меньшим индексом (элемент a[i] последовательно сравнивается с элементами a[i-1], a[i-2] ...) и до тех пор, пока для очередного элемента a[j] выполняется соотношение a[j] > a[i], a[i] и a[j] меняются местами. Если удается встретить такой элемент a[j], что a[j] <= a[i], или если достигнута нижняя граница массива, производится переход к обработке элемента a[i+1] (пока не будет достигнута верхняя граница массива).

Легко видеть, что в лучшем случае (когда массив уже упорядочен) для выполнения алгоритма с массивом из n элементов потребуется n-1 сравнение и 0 пересылок. В худшем случае (когда массив упорядочен в обратном порядке) потребуется n?(n-1)/2 сравнений и столько же пересылок. Таким образом, можно оценивать сложность метода простых включений как O(n2).

Дальнейшим развитием метода сортировки с включениями является сортировка методом Шелла, называемая по-другому сортировкой включениями с уменьшающимся расстоянием. Мы не будем описывать алгоритм в общем виде, а ограничимся случаем, когда число элементов в сортируемом массиве является степенью числа 2. Для массива с 2n элементами алгоритм работает следующим образом. На первой фазе производится сортировка включением всех пар элементов массива, расстояние между которыми есть 2(n-1). На второй фазе производится сортировка включением элементов полученного массива, расстояние между которыми есть 2(n-2). И так далее, пока мы не дойдем до фазы с расстоянием между элементами, равным единице, и не выполним завершающую сортировку с включениями. Применение метода Шелла к массиву, используемому в наших примерах, показано в таблице 2.2.

В общем случае алгоритм Шелла естественно переформулируется для заданной последовательности из t расстояний между элементами h1, h2, ..., ht, для которых выполняются условия h1 = 1 и h(i+1) < hi. Дональд Кнут показал, что при правильно подобранных t и h сложность алгоритма Шелла является O(n(1.2)), что существенно меньше сложности простых алгоритмов сортировки.


 

А также другие работы, которые могут Вас заинтересовать

7213. Правовий режим майна субєктів господарювання 491 KB
  План 1. Майно у сфері господарювання. 2. Поняття і види правового режиму майна у сфері господарювання. 3. Право державної власності та правові форми її реалізації. 4. Право комунальної власності та правові форми її реалізації. 5. Право колективної в...
7214. Религия и культура 119.5 KB
  Религия и культура 1. Взаимоотношения религии и культуры в истории человечества. Сущность и основные функции религии. 2. Языческая культура. 3. Христианство и культура. 4. Исламская культура. Религия (лат. religio - благочестие...
7215. Распространение сигналов по оптическому кабелю 252.5 KB
  Распространение сигналов по оптическому кабелю. Передача сигналов по оптическому кабелю имеет свои особенности, которые связаны со способом передачи оптических сигналов, а также с тем, что распространение излучения по световоду является многомодовым...
7216. Сдвигающие Регистры 647 KB
  Сдвигающие Регистры Для выполнения операций умножения,деления, сложения необходим сдвиг числа влево или вправо. L1, L2 - сдвиг влево R1, R2 - сдвиг вправо (на 1 разряд, на 2)...
7217. Биохимия. Конспект лекций. Основные классы биомолекул 1.4 MB
  Основные классы биомолекул Практически все сухое вещество клеток составляют органические соединения, представленные четырьмя основными видами молекул: белками, нуклеиновыми кислотами, полисахаридами и липидами. Все они отличаются по свойствам, а зна...
7218. Проектирование систем электроснабжения 644.5 KB
  Проектирование систем электроснабжения Выбор оборудования Задание к расчётной работе Согласно приведённой на рис. 1 схеме от шин подстанции энергосистемы питается главная понизительная подстанция (ГПП), предназначенная для электроснабжения промышлен...
7219. Краткая характеристика ЗАО «МРК» 432 KB
  Цель руководства ЗАО «МРК» - техническое перевооружение литейного производства и создание единого литейного цеха с современным плавильным, формовочным оборудованием. ЗАО «МРК» - главный поставщик тюбингов для строящегося в областном центре метрополитена.
7220. Автоматизация междугородной связи с использованием ЦСК АХЕ - 10 303 KB
  Введение. Успешная деятельность современного человеческого общества невозможна без наличия специальных средств связи, обеспечивающих общение и взаимный обмен информацией между людьми независимо от расстояния. С каждым годом в мире возрастает объём и...
7221. Спроектировать двухступенчатый горизонтальный коническо-цилиндрический редуктор общего назначения привода ленточного конвейера 1.39 MB
  Задание проекта Спроектировать двухступенчатый горизонтальный коническо-цилиндрический редуктор общего назначения привода ленточного конвейера. Рис. 1. - Кинематическая схема привода ленточного конвейера: 1-двигатель 2- ременная передача...