Добавил:
ПОИТ 2016-2020 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пустовалова 2 сем / Лекции / Лекция 2_Сортировки.ppt
Скачиваний:
65
Добавлен:
29.04.2018
Размер:
2 Мб
Скачать
☆

Сортировк а и поиск

Сортировка

►процесс упорядочения набора элементов в возрастающем или убывающем порядке

►КЛЮЧ -- часть элемента данных,

которая используется для его

идентификации и поиска среди множества других таких элементов

Последовательный

поиск

►наилучшем случае сложность алгоритма последовательного поиска равна O(1)

►в наихудшем случае сложность алгоритма последовательного поиска равна О(n)

►Ср. - обнаруживается после n / 2

сравнений

 

 

1

5

6

7

12

4 6

7

89

1

 

Бинарный поиск

►для поиска элемента в упорядоченном массиве и основан на повторяющемся делении частей массива пополам

2 5 7 12 14 33 55 73 99

►n=2k

►В наихудшем случае алгоритм выполнит k разбиений и, следовательно, k сравнений где k = log2n

O(log2n) для любого значения n

ПРОВЕРКА

УПОРЯДОЧНЕННОСТИ

МАССИВА

int is_sorted(int a[], int n)

{ for (int i=0; i<n-1; i++)

if (a[i]>a[i+1])

return 0;

} return 1;

Двоичный поиск в упорядоченном

int

массиве

binary(int c[], int n, int val)

{

int a,b,m;

for(a=0,b=n-1; a <= b;)

{

m = (a + b)/2; if(c[m] == val)

return(m);

if (c[m] > val) b = m-1;

else

a = m+1;

}

 

return(-1);

} // log2n

Классификация сортировок

по размещению элементов: ►внешняя -в файле данных ►внутренняя -в памяти

методы, не требующие резерва памяти;

методы, требующие резерва памяти

1)метод выборки, "пузырька", вставки,

Шелла.

2)метод квадратичной выборки, метод слияния

Классификация сортировок

►По виду структур данных

Сортировка массивов Массивов указателей

Списков

Объектов др. структур

Способ выбора элементов

►Обменная ►Разделением ►Подсчетом ►Выбором

►Вставками

►Пирамидальная ►Распределяющая ►Слиянием

1.Обменная сортировка

1.1.Метод “пузырька”

в худшем случае

(n – 1) +(n – 2) + ..+ 1 = n (n – 1) / 2 ≈ n2 / 2 (n-1)+(n-2)+..+1 =n(n-1)/2 сравнений и n(n-1)/2 перестановок + присваивания

общееколичество основных операций

2n( n – l)= 2n2 – 2n

►Среднее число сравнений и перестановок имеетпорядок n 2.

O(n2) не требует памяти

2

1

4

5

3

1

 

6

1

2

4

5

1

3

2

6

1

4

5

1

 

3

6

1

4

2

9

1

4

3

9

1

2

1

4

3

9

1

2

1

1

3

9

4

2

 

1

3

 

9

3

7

 

5

 

9

3

7

9

5

7

3

 

5

 

5

3

7

6

5

7

3

5

5

6

5

3

7

5

7

6

3

5

5

 

6

Соседние файлы в папке Лекции