SlideShare a Scribd company logo
1 of 11
Язык С++ 
Квадратичные алгоритмы сортировки
Постановка задачи 
Алгоритм сортировки — это алгоритм для упорядочивания элементов в 
массиве. 
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

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

What's hot (18)

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

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
 
Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Technopark
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийsimple_people
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поискFedor Tsarev
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
Олег Алистратов — Сортировка списков в 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
 
Алгоритмы поиска и сортировки
Алгоритмы  поиска и сортировкиАлгоритмы  поиска и сортировки
Алгоритмы поиска и сортировкиUnguryan Vitaliy
 
Лекция 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
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовMikhail Kurnosov
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Technopark
 

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

1332519 (1).pptx
1332519 (1).pptx1332519 (1).pptx
1332519 (1).pptx
 
Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функций
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поиск
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и Python
 
Тема Системы счисления
Тема Системы счисленияТема Системы счисления
Тема Системы счисления
 
Лекция 14 Матрицы
Лекция 14 МатрицыЛекция 14 Матрицы
Лекция 14 Матрицы
 
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...
 
Алгоритмы поиска и сортировки
Алгоритмы  поиска и сортировкиАлгоритмы  поиска и сортировки
Алгоритмы поиска и сортировки
 
Лекция 1. Амортизационный анализ (Amortized analysis)
Лекция 1. Амортизационный анализ (Amortized analysis)Лекция 1. Амортизационный анализ (Amortized analysis)
Лекция 1. Амортизационный анализ (Amortized analysis)
 
Java 8 puzzlers
Java 8 puzzlersJava 8 puzzlers
Java 8 puzzlers
 
9 1.1 - системы счисления
9 1.1 - системы счисления9 1.1 - системы счисления
9 1.1 - системы счисления
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисления
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
Algo 00
Algo 00Algo 00
Algo 00
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 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 Алгоритм сортировки вставками может быть значительно ускорен при работе с большими массивами, если вместо обычного линейного поиска использовать бинарный