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)), что существенно меньше сложности простых алгоритмов сортировки.


 

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

4171. Особенности работы аккумуляторов 29.5 KB
  Первым кто открыл возможность получения тока иным, чем электризация трением, способом был итальянский ученный Луиджи Гальвани (1737-1798). Однажды он заметил, что лапка мёртвой лягушки пришла в движение при соприкосновении с её нервом стального скал...
4172. Формирование здоровья глухих детей 123.5 KB
  Введение. Здоровье – это состояние полного социального биологического и психологического благополучия, когда функции всех органов и систем органов уравновешены с природой и окружающей средой, отсутствуют какие-либо болезненные состояния и физич...
4173. Функциональная асимметрия правого и левого полушарий мозга 86.5 KB
  Введение Изучение функциональной асимметрии больших полушарий головного мозга началось в середине 19 века на пациентах с очаговыми поражениями головного мозга, обусловленных кровоизлияниями и черепно-мозговыми травмами. Было установлено, что поврежд...
4174. Международная торговля: Сравнительные преимущества 84 KB
  Теории международной торговли Проблемы международной торговли интересовали ученых и политиков еще в те времена: когда иные направления экономической теории еще небыли развиты. Доктрина меркантилизма была с XVI века до середины XVIII века, тогда м...
4175. Михаил Павлович Гастфер 60.5 KB
  Михаил Павлович Гастфер. В одной из аудиторий Московского государственного института культуры идет лекция по технической библиографии. Преподаватель, пожилой, но прямой и подтянутый человек, читает вдохновенно и образно. Он во всеоружии мыслей, факто...
4176. Создание топографических планов масштаба 1:5000 81 KB
  При создании топографических планов методами стереотопографической, комбинированной, и фототеодолитной съёмки выполняется комплекс камеральных работ. Полный комплекс этих работ при стереотопографической съёмке включает в себя составление тех проекта...
4177. МЧС и гражданская оборона 116.5 KB
  История российской гражданской обороны Местная противовоздушная оборона (МПВО) 1918-1932 гг. Впервые возможность дезорганизации тыла появилась в годы мировой войны 1914 гг., когда в ходе военных действий нашла применение боевая авиация, с...
4178. Роль государственной собственности в промышленно развитых странах 268 KB
  Введение. Изучение опыта государственного участия в экономическом развитии передовых стран мира интересно и познавательно само по себе. Но для нас существует еще и проблема использования такого опыта с учетом ошибок предшественников, его адаптации к...
4179. Рынок труда и механизм его функционирования 130 KB
  Введение. Рынок труда является одним из наиболее сложных рынков, которые существуют и функционируют. В отличие от других рынков специфика этого рынка состоит в том, что здесь объектом контрактов выступает сам человек, его способность к труду. Сфера ...