Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование     Программное обеспечение Программное обеспечение

Быстрые алгоритмы сортировки

Совок большой.
Длина 21,5 см. Расцветка в ассортименте, без возможности выбора.
21 руб
Раздел: Совки
Забавная пачка денег "100 долларов".
Купюры в пачке выглядят совсем как настоящие, к тому же и банковской лентой перехвачены... Но вглядитесь внимательней, и Вы увидите
60 руб
Раздел: Прочее
Коврик для запекания, силиконовый "Пекарь".
Коврик "Пекарь", сделанный из силикона, поможет Вам готовить вкусную и красивую выпечку. Благодаря материалу коврика, выпечка не
202 руб
Раздел: Коврики силиконовые для выпечки

МІНІСТЕРСТВО НАУКИ І ОСВІТИ УКРАЇНИ Херсонський Державний Педагогічний Університет Фізико-математичний факультет Кафедра інформаційних технологійШвидкі алгоритми сортуванняКурсова роботаВиконавець Керівник Херсон 2001 Зміст Вступ2 1. Аналіз швидких алгоритмів сортування6 1.1. Сортування деревом6 1.2. Пірамідальне сортування9 1.3 Швидке сортування Хоара12 1.4 Метод цифрового сортування14 2. Практична реалізація мовою Паскаль швидких алгоритмів сортування16 16 Висновки22 Список використаних джерел24 Вступ В наш час нові інформаційні технології посідають дуже важливе місце не лише в спеціалізованих, але й в повсякденних сферах життя. Комп’ютери застосовуються в бізнесі, менеджменті, торгівлі, навчанні та багатьох інших сферах діяльності людини. Комп’ютерні технології дуже зручні для виконання різноманітних операцій, але в різних сферах застосування ці операції різні. Тому, кожна окрема галузь, яка використовує специфічні технічні засоби, потребує своїх власних програм, які забезпечують роботу комп’ютерів. Розробкою програмного забезпечення займається така галузь науки, як програмування. Вона набуває все більшого й більшого значення останнім часом, адже з кожним днем комп’ютер стає все більш необхідним, все більш повсякденним явищем нашого життя. Адже обчислювальна техніка минулих років вже майже повністю вичерпала себе і не задовольняє тим потребам, що постають перед людством. Таким чином, нові інформаційні технології дуже актуальні в наш час і потребують багато уваги для подальшої розробки та вдосконалення. Поряд з цим, велике значення має також і програмування, яке є одним із фундаментальних розділів інформатики і тому не може залишатись осторонь. Програмування містить цілу низку важливих внутрішніх задач. Однією з найбільш важливих таких задач для програмування є задача сортування. Під сортуванням звичайно розуміють перестановки елементів будь-якої послідовності у визначеному порядку. Ця задача є однією з найважливіших тому, що її метою є полегшення подальшої обробки певних даних і, насамперед, задачі пошуку. Так, одним з ефективних алгоритмів пошуку є бінарний пошук. Він працює швидше ніж, наприклад, лінійний пошук, але його можливо застосовувати лише за умови, що послідовність вже упорядкована, тобто відсортована. Взагалі, відомо, що в будь-якій сфері діяльності, що використовує комп’ютер для запису, обробки та збереження інформації, усі дані зберігаються в базах даних, які також потребують сортування. Певна впорядкованість для них дуже важлива, адже користувачеві набагато легше працювати з даними, що мають певний порядок. Так, можна розташувати всі товари по назві або відомості про співробітників чи студентів за прізвищем або роком народження, тощо. Задача сортування в програмуванні не вирішена повністю. Адже, хоча й існує велика кількість алгоритмів сортування, все ж таки метою програмування є не лише розробка алгоритмів сортування елементів, але й розробка саме ефективних алгоритмів сортування. Ми знаємо, що одну й ту саму задачу можна вирішити за допомогою різних алгоритмів і кожен раз зміна алгоритму приводить до нових, більш або менш ефективних розв’язків задачі.

Основними вимогами до ефективності алгоритмів сортування є перш за все ефективність за часом та економне використання пам’яті. Згідно цих вимог, прості алгоритми сортування (такі, як сортування вибором і сортування включенням) не є дуже ефективними. Алгоритм сортування обмінами, хоча і завершує свою роботу (оскільки він використовує лише цикли з параметром і в тілі циклів параметри примусово не змінюються) і не використовує допоміжної пам’яті, але займає багато часу. Навіть, якщо внутрішній цикл не містить жодної перестановки, то дії будуть повторюватись до тих пір, поки не завершиться зовнішній цикл. Алгоритм сортування вибором ефективніше сортування обмінами за критерієм М( ), тобто за кількістю пересилань, але також є не дуже ефективним. З цих причин було розроблено деякі нові алгоритми сортування, що отримали назву швидких алгоритмів сортування. Це такі алгоритми, як сортування деревом, пірамідальне сортування, швидке сортування Хоара та метод цифрового сортування. Метою нашої дослідницької роботи є ознайомлення з цими швидкими алгоритмами сортування, спроба проаналізувати їх і висвітлити кожен з них і написати програму, яка б виконувала сортування деякої послідовності за допомогою різних швидких алгоритмів сортування.1. Аналіз швидких алгоритмів сортування 1.1. Сортування деревом Алгоритм сортування деревом ТreeSor власне кажучи є поліпшенням алгоритму сортування вибором. Процедура вибору найменшого елемента удосконалена як процедура побудови т.зв. сортуючого дерева. Сортуюче дерево - це структура даних, у якій представлений процес пошуку найменшого елемента методом попарного порівняння елементів, що стоять поруч. Алгоритм сортує масив у два етапи. I етап : побудова сортуючого дерева; II етап : просівання елементів по сортуючому дереву. Розглянемо приклад: Нехай масив A складається з 8 елементів (мал. 1, 1-а рядок). Другий рядок складається з мінімумів елементів першого рядка, які стоять поруч. Кожний наступний рядок складений з мінімумів елементів, що стоять поруч, попереднього рядка. мал 1 Ця структура даних називається сортуючим деревом. У корені сортуючого дерева розташований найменший елемент. Крім того, у дереві побудовані шляхи елементів масиву від листів до відповідного величині елемента вузла - розгалуження. (На мал.1 шлях мінімального елемента a5 - від листа a5 до кореня відзначений товстою лінією.) Коли дерево побудоване, починається етап просівання елементів масиву по дереву. Мінімальний елемент пересилається у вихідний масив B і усі входження цього елемента в дереві заміняються на спеціальний символ M. В мал 2 Потім здійснюється просівання елемента уздовж шляху, відзначеного символом M, починаючи з листка, сусіднього з M (На мал 2. униз) і до кореня. Крок просівання - це вибір найменшого з двох елементів, що зустрілися на шляху до кореня дерева і його пересилання у вузол, відзначений M. Просівання 2-го елемента показано на мал 3. (Символ М більше, ніж будь-який елемент масиву). a6 = mi (M, a6) a6 = mi (a6, a8) a3 = mi (a3, a6) b2 := a3 Просівання елементів відбувається доти, поки весь вихідний масив не буде заповнений символами M, тобто раз: For I := 1 o do begi Відзначити шлях від кореня до листка символом M; Просіяти елемент уздовж відзначеного шляху; B := корінь дерева e d; Обґрунтування правильності алгоритму очевидно, оскільки кожне чергове просівання викидає в масив У найменший з елементів масиву А, що залишилися.

Сортуюче дерево можна реалізувати, використовуючи або двовимірний масив, або одномірний масиві S , де = 2 -1 (див. наступний розділ). Оцінимо складність алгоритму в термінах M( ), C( ). Насамперед відзначимо, що алгоритм reeSor працює однаково на усіх входах, так що його складність у гіршому випадку збігається зі складністю в середньому. Припустимо, що - ступінь 2 ( = 2l). Тоді сортуюче дерево має l 1 рівень (глибину l). Побудова рівня I вимагає / 2I порівнянь і пересилань. Таким чином, I-ий етап має складність: C1( ) = /2 /4 . 2 1 = -1, M1( ) = C1( ) = - 1 Для того, щоб оцінити складність II-го етапу З2( ) і M2( ) помітимо, що кожен шлях просівання має довжину l, тому кількість порівнянь і пересилань при просіванні одного елемента пропорційно l. Таким чином, M2( ) = O(l ), C2( ) = O(l ). Оскільки l = log2 , M2( )=O( log2 )), C2( )=O( log2 ), Але З( ) = C1( ) C2( ), M( ) = M1( ) M2( ). Тому що C1( ) < C2( ), M1( ) < M2( ), остаточно одержуємо оцінки складності алгоритму reeSor за часом: M( ) = O( log2 ), C( ) = O( log2 ), У загальному випадку, коли не є ступенем 2, сортуюче дерево будується трохи інакше. “Зайвий” елемент (елемент, для якого немає пари) переноситься на наступний рівень. Легко бачити, що при цьому глибина сортуючого дерева дорівнює 1. Удосконалення алгоритму II етапу очевидно. Оцінки при цьому змінюють лише мультиплікативні множники. Алгоритм reeSor має істотний недолік: для нього потрібно додаткова пам'ять розміру 2 - 1.1.2. Пірамідальне сортування Алгоритм пірамідального сортування HeapSor також використовує представлення масиву у виді дерева. Цей алгоритм не вимагає допоміжних масивів, сортуючи “на місці”. Розглянемо спочатку метод представлення масиву у виді дерева: Нехай A - деякий масив. Зіставимо йому дерево, використовуючи наступні правила: 1.A - вузол дерева і 2i  , то A 3.Якщо A - вузол - “правий син” вузла A Правила 1-3 визначають у масиві структуру дерева, причому глибина дерева не перевершує 1. Вони ж задають спосіб руху по дереву від кореня до листків. Рух вгору задається правилом 4: 4.Якщо A - вузол - “батько” вузла A; Приклад: Нехай A = - масив. Відповідне йому дерево має вид: Зверніть увагу на те, що всі рівні дерева, за винятком останнього, цілком заповнені, останній рівень заповнений ліворуч і індексація елементів масиву здійснюється вниз і праворуч. Тому дерево упорядкованого масиву відповідає наступним властивостям: A. Як це не дивно, алгоритм HeapSor спочатку будує дерево, що відповідає прямо протилежним співвідношенням: A а потім змінює місцями A. Як і reeSor , алгоритм HeapSor працює в два етапи: I. Побудова сортуючого дерева; II. Просівання елементів по сортуючому дереву. Дерево, що представляє масив, називається сортуючим, якщо виконуються умови (6). Якщо для деякого i ця умова не виконується, будемо говорити, що має місце (сімейний) конфлікт у трикутнику i. Як на I-ом, так і на II-ому етапах елементарна дія алгоритму полягає в вирішенні сімейного конфлікту: якщо найбільший із синів більше, ніж батько, то переставляються батько і цей син (процедура Co Swap).

Примерами этого являются исчерпывающий поиск, поиск максимального элемента в массиве и генерация контрольной суммы. • Вложенные циклы. Если вы помещаете один цикл в другой, то ваш алгоритм становится O(m*n), где m и n – пределы этих двух циклов. Обычно это свойственно простым алгоритмам сортировки, типа пузырьковой сортировки, где внешний цикл поочередно просматривает каждый элемент массива, а внутренний цикл определяет местонахождение этого элемента в результирующем массиве. Подобные алгоритмы сортировки чаще всего стремятся к O(n^2). • Алгоритм двоичного поиска. Если алгоритм делит пополам набор элементов, который он рассматривает всякий раз в цикле, то скорее всего он логарифмический O(lg(n)) (см. упражнение 37). Двоичный поиск в упорядоченном списке, обход двоичного дерева и поиск первого установленного бита в машинном слове могут быть O(lg(n)). • Разделяй и властвуй. Алгоритмы, разбивающие входные данные на разделы, работающие независимо с двумя половинами и затем комбинирующие конечный результат, могут представлять собой O(nlg(n))

1. Сравнение эффективности методов сортировки массивов: Метод прямого выбора и метод сортировки с помощью дерева

2. Методы внутренней сортировки. Обменная сортировка. Сравнение с другими методами сортировки

3. Сравнительное исследование эффективности методов сортировки Флойда и Шелла

4. Сортировка карточек: полное описание метода

5. Сортировка массива методом Шелла

6. Методы внутренней сортировки
7. Исследование природных ресурсов планеты с помощью космических методов
8. Исследование клеточного цикла методом проточной цитометрии

9. ОСНОВНЫЕ МЕТОДЫ ГЕНЕТИКИ

10. Методы психогенетики

11. Обзор методов и способов измерения физико-механических параметров рыбы

12. Новейшие методы селекции: клеточная инженерия, генная инженерия, хромосомная инженерия

13. Зажигательные смеси, состав, средства применения и доставки, вызываемые повреждения, методы лечения и защиты

14. Методы и модели демографических процессов

15. Гидрохимический, атмохический и биогеохимический методы поисков

16. Добыча золота методами геотехнологии

Карандаши цветные Faber-Castell "Grip", 12 цветов.
Эргономичная треугольная форма корпуса карандаша "Grip" обеспечивает правильный захват карандаша тремя пальцами. Массажные
627 руб
Раздел: 7-12 цветов
Сушилка для белья Vileda "Мультифлекс".
Компактная (занимает мало места, удобно размещать даже в небольшом помещении). Очень устойчивая. С защитным покрытием от воздействий
5739 руб
Раздел: Сушилки напольные
Мягкий пол "Ассорти", универсальный, 60x60 см, 1.44 кв.м.
Размер 1 листа: 60x60 см. Площадь4 листов: 1.44 кв.м. Состав: 1 красный лист, 1 желтый лист, 1 зеленый лист, 1 синий лист.
1080 руб
Раздел: Прочие

17. Государственное регулирование экономики: формы и методы

18. Сущность, методы и формы государственного регулирования внешнеэкономической деятельности Российской Федерации

19. Нелегальная миграция в России и методы борьбы с ней

20. Предмет и метод гражданского права

21. Предмет, метод и система гражданского процессуального права /Украина/

22. Корпорация BBC. Формы и методы государственного контроля вещания
23. Формы и методы выхода предприятий на внешний рынок
24. Финансовый контроль: формы, методы, органы

25. Эффективные методы изучения иностранных языков

26. Метод действенного анализа в режиссуре театра, кино и телевидения

27. Соцреализм как метод искусства

28. Дидактические возможности отдельных методов обучения на уроках литературы в старших классах

29. Методы изучения музыкальных произведений крупной формы в старших классах общеобразовательной школы

30. Цивилизационные методы в изучении истории

31. Методы компьютерной обработки статистических данных

32. Решение транспортной задачи методом потенциалов

Декоративная наклейка-фоторамка, арт. PH-3/3 (CO).
Материал: пластик. Размер: 50x70 см.
490 руб
Раздел: Мультирамки
Кружка фарфоровая "FIFA 2018. Забивака" (белая полоса), 480 мл.
Объем: 480 мл. Материал: фарфор.
407 руб
Раздел: Кружки, посуда
Гель Calgon "3030723", для cмягчения воды и предотвращения образования накипи, 1500 мл.
Гель для смягчения воды и предотвращения образования накипи 2 в 1. Нормативный срок годности товара 24 месяца с момента изготовления.
442 руб
Раздел: Для посудомоечных машин

33. Решение дифференциальных уравнений 1 порядка методом Эйлера

34. Оценка методов и средств обеспечения безошибочности передачи данных в сетях

35. Обзор возможных методов защиты

36. Сортировка

37. Метод деформируемого многогранника

38. Обучение начальных курсов методам программирования на языке Turbo Pascal
39. Применение методов линейного программирования в военном деле. Симплекс-метод
40. Вычисление площади сложной фигуры методом имитационного моделирования (Windows)

41. Математические методы и языки программирования: симплекс метод

42. Лекции по высокоуровневым методам информатики и программированию

43. Метод Симпсона на компьютере

44. Полином Гира (экстраполяция методом Гира)

45. Компьютерные вирусы, типы вирусов, методы борьбы с вирусами

46. Анализ криптостойкости методов защиты информации в операционных системах Microsoft Window 9x

47. Парольные методы защиты информации в компьютерных системах от несанкционированного доступа

48. Лабораторная работа №7 по "Основам теории систем" (Решение задачи коммивояжера методом ветвей и границ)

Комплект чехлов "Карапуз" для колясок с поворотными колесами.
Чехлы для колясок с поворотными колесами. Изготовлены из водонепроницаемой ткани. Диаметр передних поворотных колес 25 см, задних 32 см.
323 руб
Раздел: Чехлы для колес
Набор детской посуды "Тачки. Дисней", 3 предмета.
Детский набор посуды "Тачки" сочетает в себе изысканный дизайн с максимальной функциональностью. Предметы набора выполнены из
447 руб
Раздел: Наборы для кормления
Доска магнитно-маркерная, А3, 342x484 мм.
Размер: 342x484 мм. Белое лаковое покрытие. Материал рамки: МДФ. Размер внутри рамки: 302х444 мм. Для формата А3. В комплекте: магниты и
405 руб
Раздел: Доски магнитно-маркерные

49. Лабораторная работа №6 по "Основам теории систем" (Решение задачи о ранце методом ветвей и границ)

50. Решение задач - методы спуска

51. Решение смешанной задачи для уравнения гиперболического типа методом сеток

52. Решение систем дифференциальных уравнений методом Рунге-Куты 4 порядка

53. Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя

54. Использование численных методов для решения дифуpов (2-го порядка) (, демонстрация применения интерполяции в среде MATHCAD-а)
55. Вычисление определенного интеграла методами трапеций и средних прямоугольников
56. Решение нелинейного уравнения методом касательных

57. Методы корреляционного и регрессионного анализа в экономических исследованиях

58. Современные криптографические методы

59. Математические методы в организации транспортного процесса

60. Метод последовательных уступок (Теория принятия решений)

61. Построение графика функции различными методами (самостоятельная работа учащихся)

62. Краткая методичка по логике

63. Методы решения систем линейных неравенств

64. Вычисление двойных интегралов методом ячеек

Швабра "York. Salsa", с рукояткой.
Сменную насадку Вы замените быстро и без особых хлопот. На конце черенка - пластиковый подвес-держатель. Черенок пластиковый, насадка -
452 руб
Раздел: Швабры и наборы
Набор мисок Mayer & Boch "Фиалки".
Набор эмалированных мисок из 10 предметов: миска (5 штук) + крышка (5 штук). Материал: углеродистая сталь. Эмалированное покрытие. Крышка:
487 руб
Раздел: Наборы
Накладка на унитаз "Бегемотик", белая.
Накладка на унитаз подходит ко всем стандартным туалетам. Кроме того, благодаря краям предотвращающим скольжение легко и твердо
302 руб
Раздел: Сиденья

65. Методы обучения математике в 10 -11 класах

66. Решение задач линейной оптимизации симплекс – методом

67. Приближённые методы решения алгебраического уравнения

68. Решение дифференциальных уравнений 1 порядка методом Эйлера

69. Методы расчета электрических полей

70. Метод Алексея Юрьевича Виноградова для решения краевых задач
71. Решение задач на построение сечений в многогранниках методом следов
72. Новый метод «дополнительных краевых условий» Алексея Юрьевича Виноградова для краевых задач

73. Лазерные методы диагностики. Термография

74. Объективные и субъективные признаки усталости, утомления и переутомления, их причины, методы устранения и профилактика

75. Дополнительные методы обследования легочных больных. Основные синдромы при заболеваниях легких

76. Хламидиоз. Методы определения/диагностики

77. Предмет, метод, содержание cудебной медицины

78. Методы оценки кровопотери в акушерстве

79. Метод Фолля

80. Некоторые методы лечения переломов длинных трубчатых костей

Наушники "Philips SHE1450BK/51", цвет черный.
Отличные внутриканальные наушники черного цвета станут дополнением любого образа и стиля. Компактные динамики обеспечивают отличные басы и
599 руб
Раздел: Гарнитуры и трубки
Пенал "DeLune", арт. D-819.
Пенал школьный каркасный, изготовлен по жестко-каркасной технологии, обеспечивающий, надежную защиту письменных принадлежностей от
651 руб
Раздел: Без наполнения
Подушка "Verossa" (заменитель лебяжьего пуха), 70х70 см.
Одеяла и подушки торговой марки Verossa с инновационным наполнителем из микроволокна — искусственный лебяжий пух - обладают всеми
1068 руб
Раздел: Размер 70х70 см

81. Ретроспективный cанитарно – эпидемиологический анализ по определению связи между заболеваемостью населения ОКИ и факторами внешней среды по эпидемиологически значимым объектам (с использованием статистического метода ранговой корреляции ) за 2000 –2002 г

82. Сравнительная характеристика методов лабораторной диагностики трихомоноза

83. Продвинутые методы Ганемана. LМ-потенции: теория и практика

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

85. Предмет, понятие, метод и система криминологии

86. Характеристики методов расследования преступлений, связанных с квалифицированным вымогательством
87. Понятие и основные методы исследовательской фотографии
88. Загрязнение водных ресурсов и методы очистки

89. Методы очистки промышленных газовых выбросов

90. Мониторинг загрязнения водной среды реки Херота с помощью методов биоиндикации

91. Экология. Предмет и методы

92. Визуальные методы оценки цикличности в ходе метеоэлементов

93. Изучение экологического состояния территории Большеземельской тундры с использованием методов дистанционного мониторинга

94. Игровые методы в логопедической практике

95. Компьютерные технологии как фактор эволюции форм и методов обучения

96. Методы изучения музыкальных произведений крупной формы в старших классах общеобразовательной школы

Кепка "Zabivaka", детская, размер 52.
Этот обаятельный, улыбчивый символ Чемпионата мира по футболу ещё и сувенир в память о событии мирового масштаба на всю жизнь! Размер: 52.
471 руб
Раздел: Брелоки, магниты, сувениры
Пенал "Автомобиль N 1".
Обтекаемый корпус, яркие цвета, стремительный силуэт - лучшие качества гоночного автомобиля есть и у нашего пенала, повторяющего его
434 руб
Раздел: Без наполнения
Подставка для колец "Собачка", 8 см.
Регулярно удалять пыль сухой, мягкой тканью. Материал: металл (сплав цинка с покрытием золотой краской), стекло. Высота: 8 см. Товар не
365 руб
Раздел: Подставки для украшений

97. Наркомания школьников, методы профилактики

98. Средства и методы педагогического воздействия на личность

99. Эффективные методы изучения иностранных языков

100. Использование различных методов обучения с целью активизации познавательной деятельности на уроках технологии


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.