SlideShare a Scribd company logo
1 of 10
Язык С++ 
Квадратичные алгоритмы сортировки
Постановка задачи 
Алгоритм сортировки — это алгоритм для упорядочивания элементов в 
массиве. 
8 3 4 0 2 1 7 6 9 5 
0 1 2 3 4 5 6 7 8 9
Алгоритмы сортировки 
Квадратичные алгоритмы: 
• Сортировка пузырьком 
• Сортировка выбором 
• Сортировка вставками 
Сложность этих алгоритмов (количество сравнений, 
производимый во время работы программы, при самом 
неудачном входном массиве) имеет порядок 
2 n 
Поэтому они называются квадратичными
Сортировка пузырьком 
for(int i = 0; i < n; i++) 
for(int j = 0; j < n; j++) 
if(a[j] > a[j + 1]) swap(a[j], a[j + 1]);
Сортировка пузырьком 
for(int i = 0; i < n; i++) 
for(int j = 0; j < n; j++) 
if(a[j] > a[j + 1]) swap(a[j], a[j + 1]);
Сортировка пузырьком 
Наилучший случай: изначальный массив уже отсортирован. 
Алгоритм совершает всего один проход по массиву. 
0 1 2 3 4 5 6 7 8 9 
Наихудший случай: изначальный массив отсортирован в 
n(n 1) 
обратном порядке. Алгоритм совершает сравнений. 
2 
9 8 7 6 5 4 3 2 1 0
Сортировка выбором 
for (int i = 0; i < n - 1; i++) 
{ 
count = A[i]; key=i; 
for (int j = i + 1; j < n; j++) 
if (A[j] < A[key]) 
key = j; 
if (key != i) 
{ 
A[i] = A[key]; 
A[key] = count; 
} 
}
Сортировка выбором 
n(n 1) 
Этот алгоритм совершает сравнений на любом 
2 
входном массиве. Но, в отличие от алгоритма сортировки 
пузырьком, производит всего n - 1 операций обмена.
Сортировка вставками 
for(int i = 1; i < n; i++) 
for(int j = i; j > 0 && A[j-1] > A[j]; j--) 
swap(A[j-1], A[j]);
Сортировка вставками 
Как и сортировка выбором, этот алгоритм совершает 
сравнений. 
n(n 1) 
2 
Алгоритм сортировки вставками может быть значительно 
ускорен при работе с большими массивами, если вместо 
обычного линейного поиска использовать бинарный

More Related Content

What's hot

Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Technopark
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиMikhail Kurnosov
 
Лекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмыЛекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмыMikhail Kurnosov
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовMikhail Kurnosov
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Mikhail Kurnosov
 
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
Proizvodnaya i grafiki_funkcii
Proizvodnaya i grafiki_funkciiProizvodnaya i grafiki_funkcii
Proizvodnaya i grafiki_funkciiDimon4
 
Funk tang b kotang
Funk tang  b kotangFunk tang  b kotang
Funk tang b kotangNarvatk
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Technopark
 
Linejnaya funkciya
Linejnaya funkciyaLinejnaya funkciya
Linejnaya funkciyaIvanchik5
 
учебная презентация. преобразование графиков функций
учебная презентация. преобразование графиков функцийучебная презентация. преобразование графиков функций
учебная презентация. преобразование графиков функцийmsycheva
 
понятие функции
понятие функциипонятие функции
понятие функцииttku
 
Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4Technopark
 
Pokazatelnaya funkciya
Pokazatelnaya funkciyaPokazatelnaya funkciya
Pokazatelnaya funkciyaDimon4
 
график функции y=IxI
график функции y=IxIграфик функции y=IxI
график функции y=IxILanaNork
 
Kak postroit grafik_funkcii_y_f_l_m_iz_grafika_fun
Kak postroit grafik_funkcii_y_f_l_m_iz_grafika_funKak postroit grafik_funkcii_y_f_l_m_iz_grafika_fun
Kak postroit grafik_funkcii_y_f_l_m_iz_grafika_funIvanchik5
 

What's hot (18)

Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировки
 
Лекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмыЛекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмы
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмов
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска
Алгоритмы поиска
 
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
 
Algo 01 part01
Algo 01 part01Algo 01 part01
Algo 01 part01
 
Proizvodnaya i grafiki_funkcii
Proizvodnaya i grafiki_funkciiProizvodnaya i grafiki_funkcii
Proizvodnaya i grafiki_funkcii
 
Funk tang b kotang
Funk tang  b kotangFunk tang  b kotang
Funk tang b kotang
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1
 
Linejnaya funkciya
Linejnaya funkciyaLinejnaya funkciya
Linejnaya funkciya
 
учебная презентация. преобразование графиков функций
учебная презентация. преобразование графиков функцийучебная презентация. преобразование графиков функций
учебная презентация. преобразование графиков функций
 
понятие функции
понятие функциипонятие функции
понятие функции
 
Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4
 
Pokazatelnaya funkciya
Pokazatelnaya funkciyaPokazatelnaya funkciya
Pokazatelnaya funkciya
 
график функции y=IxI
график функции y=IxIграфик функции y=IxI
график функции y=IxI
 
Kak postroit grafik_funkcii_y_f_l_m_iz_grafika_fun
Kak postroit grafik_funkcii_y_f_l_m_iz_grafika_funKak postroit grafik_funkcii_y_f_l_m_iz_grafika_fun
Kak postroit grafik_funkcii_y_f_l_m_iz_grafika_fun
 

Viewers also liked

Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировкиkogoga
 
Consequence's of flexible management by Amjad Raza
Consequence's of flexible management  by Amjad RazaConsequence's of flexible management  by Amjad Raza
Consequence's of flexible management by Amjad RazaAmjad Choudhary
 
урок вишивання вітальної листівки
урок вишивання вітальної листівкиурок вишивання вітальної листівки
урок вишивання вітальної листівкиcytqlth1988
 
FC Digital Marketing
FC Digital MarketingFC Digital Marketing
FC Digital MarketingIvan Istomin
 
Target Recruitment & HR Solutions profile
Target Recruitment & HR Solutions profileTarget Recruitment & HR Solutions profile
Target Recruitment & HR Solutions profileMohamed El Derwy
 
De allergenenwetgeving in de horeca | Conpax Verpakkingen
De allergenenwetgeving in de horeca | Conpax VerpakkingenDe allergenenwetgeving in de horeca | Conpax Verpakkingen
De allergenenwetgeving in de horeca | Conpax VerpakkingenConpax Verpakkingen
 
Compendial evaluation for evaluation of crude and herbal drugs
Compendial evaluation for evaluation of crude and herbal drugsCompendial evaluation for evaluation of crude and herbal drugs
Compendial evaluation for evaluation of crude and herbal drugsShruti Patel
 
презентация 1 кафедри вчителів предметів естетичного циклу
презентация 1 кафедри вчителів предметів естетичного циклупрезентация 1 кафедри вчителів предметів естетичного циклу
презентация 1 кафедри вчителів предметів естетичного циклуcytqlth1988
 
презентація1
презентація1презентація1
презентація1cytqlth1988
 

Viewers also liked (11)

Exercise and you!
Exercise and you!Exercise and you!
Exercise and you!
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Ingles
InglesIngles
Ingles
 
Consequence's of flexible management by Amjad Raza
Consequence's of flexible management  by Amjad RazaConsequence's of flexible management  by Amjad Raza
Consequence's of flexible management by Amjad Raza
 
урок вишивання вітальної листівки
урок вишивання вітальної листівкиурок вишивання вітальної листівки
урок вишивання вітальної листівки
 
FC Digital Marketing
FC Digital MarketingFC Digital Marketing
FC Digital Marketing
 
Target Recruitment & HR Solutions profile
Target Recruitment & HR Solutions profileTarget Recruitment & HR Solutions profile
Target Recruitment & HR Solutions profile
 
De allergenenwetgeving in de horeca | Conpax Verpakkingen
De allergenenwetgeving in de horeca | Conpax VerpakkingenDe allergenenwetgeving in de horeca | Conpax Verpakkingen
De allergenenwetgeving in de horeca | Conpax Verpakkingen
 
Compendial evaluation for evaluation of crude and herbal drugs
Compendial evaluation for evaluation of crude and herbal drugsCompendial evaluation for evaluation of crude and herbal drugs
Compendial evaluation for evaluation of crude and herbal drugs
 
презентация 1 кафедри вчителів предметів естетичного циклу
презентация 1 кафедри вчителів предметів естетичного циклупрезентация 1 кафедри вчителів предметів естетичного циклу
презентация 1 кафедри вчителів предметів естетичного циклу
 
презентація1
презентація1презентація1
презентація1
 

Similar to Алгоритмы сортировки

1332519 (1).pptx
1332519 (1).pptx1332519 (1).pptx
1332519 (1).pptxrdes1
 
Лекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиЛекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиsimple_people
 
Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Technopark
 
сортировка
сортировкасортировка
сортировкаaianami
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийsimple_people
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
сортировка массива
сортировка массивасортировка массива
сортировка массиваlonge7
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonYandex
 
Лекция 14 Матрицы
Лекция 14 МатрицыЛекция 14 Матрицы
Лекция 14 Матрицыsimple_people
 
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...JSFestUA
 
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Nikolay Grebenshikov
 
Лекция 1. Амортизационный анализ (Amortized analysis)
Лекция 1. Амортизационный анализ (Amortized analysis)Лекция 1. Амортизационный анализ (Amortized analysis)
Лекция 1. Амортизационный анализ (Amortized analysis)Mikhail Kurnosov
 
9 1.1 - системы счисления
9 1.1 - системы счисления9 1.1 - системы счисления
9 1.1 - системы счисленияjula-mam
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисленияAndrey Dolinin
 

Similar to Алгоритмы сортировки (20)

1332519 (1).pptx
1332519 (1).pptx1332519 (1).pptx
1332519 (1).pptx
 
Лекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиЛекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистики
 
Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3
 
сортировка
сортировкасортировка
сортировка
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функций
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
сортировка массива
сортировка массивасортировка массива
сортировка массива
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и Python
 
Тема Системы счисления
Тема Системы счисленияТема Системы счисления
Тема Системы счисления
 
Лекция 14 Матрицы
Лекция 14 МатрицыЛекция 14 Матрицы
Лекция 14 Матрицы
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
Java 8 puzzlers
Java 8 puzzlersJava 8 puzzlers
Java 8 puzzlers
 
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
 
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
 
Основы NumPy
Основы NumPyОсновы NumPy
Основы NumPy
 
Лекция 1. Амортизационный анализ (Amortized analysis)
Лекция 1. Амортизационный анализ (Amortized analysis)Лекция 1. Амортизационный анализ (Amortized analysis)
Лекция 1. Амортизационный анализ (Amortized analysis)
 
9 1.1 - системы счисления
9 1.1 - системы счисления9 1.1 - системы счисления
9 1.1 - системы счисления
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисления
 

Алгоритмы сортировки

  • 1. Язык С++ Квадратичные алгоритмы сортировки
  • 2. Постановка задачи Алгоритм сортировки — это алгоритм для упорядочивания элементов в массиве. 8 3 4 0 2 1 7 6 9 5 0 1 2 3 4 5 6 7 8 9
  • 3. Алгоритмы сортировки Квадратичные алгоритмы: • Сортировка пузырьком • Сортировка выбором • Сортировка вставками Сложность этих алгоритмов (количество сравнений, производимый во время работы программы, при самом неудачном входном массиве) имеет порядок 2 n Поэтому они называются квадратичными
  • 4. Сортировка пузырьком for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) if(a[j] > a[j + 1]) swap(a[j], a[j + 1]);
  • 5. Сортировка пузырьком for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) if(a[j] > a[j + 1]) swap(a[j], a[j + 1]);
  • 6. Сортировка пузырьком Наилучший случай: изначальный массив уже отсортирован. Алгоритм совершает всего один проход по массиву. 0 1 2 3 4 5 6 7 8 9 Наихудший случай: изначальный массив отсортирован в n(n 1) обратном порядке. Алгоритм совершает сравнений. 2 9 8 7 6 5 4 3 2 1 0
  • 7. Сортировка выбором for (int i = 0; i < n - 1; i++) { count = A[i]; key=i; for (int j = i + 1; j < n; j++) if (A[j] < A[key]) key = j; if (key != i) { A[i] = A[key]; A[key] = count; } }
  • 8. Сортировка выбором n(n 1) Этот алгоритм совершает сравнений на любом 2 входном массиве. Но, в отличие от алгоритма сортировки пузырьком, производит всего n - 1 операций обмена.
  • 9. Сортировка вставками for(int i = 1; i < n; i++) for(int j = i; j > 0 && A[j-1] > A[j]; j--) swap(A[j-1], A[j]);
  • 10. Сортировка вставками Как и сортировка выбором, этот алгоритм совершает сравнений. n(n 1) 2 Алгоритм сортировки вставками может быть значительно ускорен при работе с большими массивами, если вместо обычного линейного поиска использовать бинарный