SlideShare a Scribd company logo
1 of 6
Сортировка

• Алгоритм сортировки — это алгоритм для упорядочения
  элементов в списке. В случае, когда элемент списка имеет
  несколько полей, поле, служащее критерием порядка,
  называется ключом сортировки. На практике в качестве
  ключа часто выступает число, а в остальных полях
  хранятся какие-либо данные, никак не влияющие на
  работу алгоритма.
Сортировка пузырьком

• Алгоритм состоит в повторяющихся проходах
  по сортируемому массиву. За каждый проход
  элементы последовательно сравниваются
  попарно и, если порядок в паре неверный,
  выполняется обмен элементов. Проходы по
  массиву повторяются до тех пор, пока на
  очередном проходе не окажется, что обмены
  больше не нужны, что означает — массив
  отсортирован. При проходе алгоритма,
  элемент, стоящий не на своём месте,
  «всплывает» до нужной позиции как пузырёк
  в воде, отсюда и название алгоритма.
Пример работы
                       алгоритма
Возьмѐм массив с числами «5 1 4 2 8» и отсортируем значения по
  возрастанию, используя сортировку пузырьком. Выделены те
  элементы, которые сравниваются на данном этапе.

    Первый проход:
(5 1 4 2 8) (1 5 4 2 8), Здесь алгоритм сравнивает два первых элемента и
    меняет их местами.
(1 5 4 2 8) (1 4 5 2 8), Меняет местами, так как 5 > 4
(1 4 5 2 8) (1 4 2 5 8), Меняет местами, так как 5 > 2
(1 4 2 5 8) (1 4 2 5 8), Теперь, ввиду того, что элементы стоят на своих
    местах (8 > 5), алгоритм не меняет их местами.
Второй проход:
(1 4 2 5 8) (1 4 2 5 8)
(1 4 2 5 8) (1 2 4 5 8), Меняет местами, так как 4 > 2
(1 2 4 5 8) (1 2 4 5 8)
(1 2 4 5 8) (1 2 4 5 8)
Теперь массив полностью отсортирован, но алгоритм не знает так ли это. Поэтому ему
     необходимо сделать полный проход и определить, что перестановок элементов не было.

     Третий проход:
(1 2 4 5 8) (1 2 4 5 8)
(1 2 4 5 8) (1 2 4 5 8)
(1 2 4 5 8) (1 2 4 5 8)
(1 2 4 5 8) (1 2 4 5 8)
Теперь массив отсортирован и алгоритм может быть завершѐн.
Сортировка выбором

• При сортировке массива a[1], a[2], ..., a[n]
  методом простого выбора среди всех элементов
  находится элемент с наименьшим значением
  a[i], и a[1] и a[i] обмениваются значениямыыи.
  Затем этот процесс повторяется для
  получаемых подмассивов a[2], a[3], ..., a[n], ...
  a[j], a[j+1], ..., a[n] до тех пор, пока мы не
  дойдем до подмассива a[n], содержащего к
  этому моменту наибольшее значение.
Пример сортировки простым выбором

Начальное состояние массива
8 23 5 65 44 33 1 6
Шаг 1
1 23 5 65 44 33 8 6
Шаг 2
1 5 23 65 44 33 8 6
Шаг 3
1 5 6 65 44 33 8 23
Шаг 4
1 5 6 8 44 33 65 23
Шаг 5
1 5 6 8 23 33 65 44
Шаг 6
1 5 6 8 23 33 44 65

More Related Content

What's hot

Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмовAndrey Dolinin
 
списки (2008)
списки (2008)списки (2008)
списки (2008)vivalis2010
 
теория рекурсивных функций
теория рекурсивных функцийтеория рекурсивных функций
теория рекурсивных функцийMariya_Lastochkina
 
Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.Unguryan Vitaliy
 
Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Javametaform
 
10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскальAnna_Malina
 
Java. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииJava. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииUnguryan Vitaliy
 

What's hot (9)

Step 3.2
Step 3.2Step 3.2
Step 3.2
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмов
 
списки (2008)
списки (2008)списки (2008)
списки (2008)
 
теория рекурсивных функций
теория рекурсивных функцийтеория рекурсивных функций
теория рекурсивных функций
 
Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.
 
Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Java
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
 
10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль
 
Java. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииJava. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операции
 

Viewers also liked

Njla 2014 disaster planning & staff training presentation
Njla 2014 disaster planning & staff training presentationNjla 2014 disaster planning & staff training presentation
Njla 2014 disaster planning & staff training presentationamoonitz
 
NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training
NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training
NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training amoonitz
 
типы данных
типы данныхтипы данных
типы данныхaianami
 
типы данных
типы данныхтипы данных
типы данныхaianami
 
Anti piercing gun
Anti piercing gunAnti piercing gun
Anti piercing gunlizzkimm
 
Disturbances of pigment metabolism
Disturbances of pigment metabolismDisturbances of pigment metabolism
Disturbances of pigment metabolismDr Neha Mahajan
 
Cell injury and degenerations
Cell injury and degenerationsCell injury and degenerations
Cell injury and degenerationsDr Neha Mahajan
 
Tumours of bones, cartilage & joints mbbs lect
Tumours of bones, cartilage & joints mbbs lectTumours of bones, cartilage & joints mbbs lect
Tumours of bones, cartilage & joints mbbs lectDr Neha Mahajan
 
Amyloidosis and pathological calcification
Amyloidosis and pathological calcificationAmyloidosis and pathological calcification
Amyloidosis and pathological calcificationDr Neha Mahajan
 
Necrosis,gangrene and apoptosis
Necrosis,gangrene and apoptosisNecrosis,gangrene and apoptosis
Necrosis,gangrene and apoptosisDr Neha Mahajan
 
Cell block and liquid based cytology
Cell block and liquid based cytologyCell block and liquid based cytology
Cell block and liquid based cytologyDr Neha Mahajan
 

Viewers also liked (19)

Njla 2014 disaster planning & staff training presentation
Njla 2014 disaster planning & staff training presentationNjla 2014 disaster planning & staff training presentation
Njla 2014 disaster planning & staff training presentation
 
NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training
NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training
NJLA 2014 Keeping Your Staff Safe - Disaster Planning & Staff Training
 
типы данных
типы данныхтипы данных
типы данных
 
Heart
HeartHeart
Heart
 
Fsh
FshFsh
Fsh
 
типы данных
типы данныхтипы данных
типы данных
 
Anti piercing gun
Anti piercing gunAnti piercing gun
Anti piercing gun
 
Fsh
FshFsh
Fsh
 
Online destek hizmeti sunum [uyumluluk modu]
Online destek hizmeti sunum [uyumluluk modu]Online destek hizmeti sunum [uyumluluk modu]
Online destek hizmeti sunum [uyumluluk modu]
 
Disturbances of pigment metabolism
Disturbances of pigment metabolismDisturbances of pigment metabolism
Disturbances of pigment metabolism
 
Cell injury and degenerations
Cell injury and degenerationsCell injury and degenerations
Cell injury and degenerations
 
Tumours of bones, cartilage & joints mbbs lect
Tumours of bones, cartilage & joints mbbs lectTumours of bones, cartilage & joints mbbs lect
Tumours of bones, cartilage & joints mbbs lect
 
Amyloidosis and pathological calcification
Amyloidosis and pathological calcificationAmyloidosis and pathological calcification
Amyloidosis and pathological calcification
 
Hdp Dijital Seçim Kampanyası
Hdp Dijital Seçim KampanyasıHdp Dijital Seçim Kampanyası
Hdp Dijital Seçim Kampanyası
 
Musle biopsy
Musle biopsyMusle biopsy
Musle biopsy
 
Fnac breast
Fnac breastFnac breast
Fnac breast
 
Necrosis,gangrene and apoptosis
Necrosis,gangrene and apoptosisNecrosis,gangrene and apoptosis
Necrosis,gangrene and apoptosis
 
Cell block and liquid based cytology
Cell block and liquid based cytologyCell block and liquid based cytology
Cell block and liquid based cytology
 
Thyroid function tests
Thyroid function testsThyroid function tests
Thyroid function tests
 

Similar to сортировка

1332519 (1).pptx
1332519 (1).pptx1332519 (1).pptx
1332519 (1).pptxrdes1
 
Алгоритмы поиска и сортировки
Алгоритмы  поиска и сортировкиАлгоритмы  поиска и сортировки
Алгоритмы поиска и сортировкиUnguryan Vitaliy
 
Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Technopark
 
Лекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиЛекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиsimple_people
 
Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Technopark
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поискFedor Tsarev
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиMikhail Kurnosov
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonYandex
 
лабораторная работа №4
лабораторная работа №4лабораторная работа №4
лабораторная работа №4Gulnaz Shakirova
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Technopark
 
сортировка массива
сортировка массивасортировка массива
сортировка массиваlonge7
 
практика 5
практика 5практика 5
практика 5student_kai
 
Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4Technopark
 

Similar to сортировка (20)

Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
1332519 (1).pptx
1332519 (1).pptx1332519 (1).pptx
1332519 (1).pptx
 
Алгоритмы поиска и сортировки
Алгоритмы  поиска и сортировкиАлгоритмы  поиска и сортировки
Алгоритмы поиска и сортировки
 
Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3
 
Лекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиЛекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистики
 
Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3Алгоритмы и структуры данных весна 2014 лекция 3
Алгоритмы и структуры данных весна 2014 лекция 3
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поиск
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировки
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и Python
 
лабораторная работа №4
лабораторная работа №4лабораторная работа №4
лабораторная работа №4
 
лабораторная работа №4
лабораторная работа №4лабораторная работа №4
лабораторная работа №4
 
лабораторная работа №4
лабораторная работа №4лабораторная работа №4
лабораторная работа №4
 
Рекурсия. Поиск
Рекурсия. ПоискРекурсия. Поиск
Рекурсия. Поиск
 
Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1Алгоритмы и структуры данных весна 2014 лекция 1
Алгоритмы и структуры данных весна 2014 лекция 1
 
Основы NumPy
Основы NumPyОсновы NumPy
Основы NumPy
 
сортировка массива
сортировка массивасортировка массива
сортировка массива
 
практика 5
практика 5практика 5
практика 5
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска
Алгоритмы поиска
 
Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4Алгоритмы и структуры данных осень 2013 лекция 4
Алгоритмы и структуры данных осень 2013 лекция 4
 
Collections
CollectionsCollections
Collections
 

сортировка

  • 1. Сортировка • Алгоритм сортировки — это алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в остальных полях хранятся какие-либо данные, никак не влияющие на работу алгоритма.
  • 2. Сортировка пузырьком • Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При проходе алгоритма, элемент, стоящий не на своём месте, «всплывает» до нужной позиции как пузырёк в воде, отсюда и название алгоритма.
  • 3. Пример работы алгоритма Возьмѐм массив с числами «5 1 4 2 8» и отсортируем значения по возрастанию, используя сортировку пузырьком. Выделены те элементы, которые сравниваются на данном этапе. Первый проход: (5 1 4 2 8) (1 5 4 2 8), Здесь алгоритм сравнивает два первых элемента и меняет их местами. (1 5 4 2 8) (1 4 5 2 8), Меняет местами, так как 5 > 4 (1 4 5 2 8) (1 4 2 5 8), Меняет местами, так как 5 > 2 (1 4 2 5 8) (1 4 2 5 8), Теперь, ввиду того, что элементы стоят на своих местах (8 > 5), алгоритм не меняет их местами.
  • 4. Второй проход: (1 4 2 5 8) (1 4 2 5 8) (1 4 2 5 8) (1 2 4 5 8), Меняет местами, так как 4 > 2 (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) Теперь массив полностью отсортирован, но алгоритм не знает так ли это. Поэтому ему необходимо сделать полный проход и определить, что перестановок элементов не было. Третий проход: (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) (1 2 4 5 8) Теперь массив отсортирован и алгоритм может быть завершѐн.
  • 5. Сортировка выбором • При сортировке массива a[1], a[2], ..., a[n] методом простого выбора среди всех элементов находится элемент с наименьшим значением a[i], и a[1] и a[i] обмениваются значениямыыи. Затем этот процесс повторяется для получаемых подмассивов a[2], a[3], ..., a[n], ... a[j], a[j+1], ..., a[n] до тех пор, пока мы не дойдем до подмассива a[n], содержащего к этому моменту наибольшее значение.
  • 6. Пример сортировки простым выбором Начальное состояние массива 8 23 5 65 44 33 1 6 Шаг 1 1 23 5 65 44 33 8 6 Шаг 2 1 5 23 65 44 33 8 6 Шаг 3 1 5 6 65 44 33 8 23 Шаг 4 1 5 6 8 44 33 65 23 Шаг 5 1 5 6 8 23 33 65 44 Шаг 6 1 5 6 8 23 33 44 65