Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-й семестр / Лекция 5 - Тема 5 - Нетривиальные алгоритмы сортировки.ppt
Скачиваний:
41
Добавлен:
02.06.2020
Размер:
24.43 Mб
Скачать

ИДЕАЛЬНОЕ РАСПРЕДЕЛЕНИЕ СЕРИЙ И ОБОБЩЕННЫЕ ЧИСЛА ФИБОНАЧЧИ

Обобщенные числа Фибоначчи порядка p определяются следующими правилами:

( p )

F ( p )

F ( p )

F ( p )

...

F ( p )

, n p

 

F n

n 1

 

n 2

 

n 3

 

 

n

 

 

( p )

0 ,

0 n ( p 2 ),

 

( p )

p

 

 

F n

 

 

 

 

 

 

F p 1

1

 

 

Дл

произвольного

числа

N

 

 

 

вспомогательных

я

 

 

 

количество

серий

в

k

последовательностей

 

последовательности

на

уровне

L

определяется

соотношением:

 

 

 

 

 

 

 

 

 

 

a k ( L ) F

( N 1)

 

( N 1)

 

 

( N 1)

 

 

L N

F L N 4 ... F

L k

 

 

 

 

3

 

 

 

 

 

2

 

Количество серий в исходной последовательности:

 

( N

1) F

( N 1)

( N

2 ) F

( N 1)

 

L N 3

 

L N 4

... FL( N1 1)

42

ИДЕАЛЬНОЕ РАСПРЕДЕЛЕНИЕ СЕРИЙ N = 6

F F

( 5 )

0 , F

( 5 ) 0 , F

( 5 )

0

1

 

 

2

( 5 )

F ( 5 )

F

( 5

 

n

n 1

 

)

 

 

 

 

 

n

 

 

 

a k ( L ) F L N

 

 

 

 

2(N 1)

F

 

 

 

3

 

 

0 , F ( 5 )

0 , F ( 5 )

 

)( 51

3

 

 

4

 

F n( 5 ) F )( 5

, n 5

n

4

 

n

 

 

3

( N 1)

 

5

( N 1)

 

F

L N 4

... F

L k

 

 

 

 

 

2

 

Запишем последовательность чисел порядка (N – 1):

0, 0, 0, 0, 1, 1, 2, 4, 8, 16, 31

a

 

F

( 5 )(3)

F

( 5 )

F

 

( 5 )

F

 

( 5 )

F

( 5 )

2

 

 

61

 

5

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

4

a

 

F

( 5 )(3)

F

( 5 )

F

( 5 )

 

F

( 5 )

3

4

 

 

 

 

 

2

5

 

 

 

4

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

3

(3) F ( 5 )

F

(

5

)

F

( 5 )

6

 

 

 

 

 

a

(3) F ( 5 )

 

 

 

 

4

 

4

 

 

 

4

F

( 5 )

 

 

 

 

 

 

 

 

 

6

5

 

 

3

 

 

 

 

 

 

 

 

 

a 5 (3) F6( 5 )

2

 

 

 

 

 

 

 

 

 

 

43

ИДЕАЛЬНОЕ РАСПРЕДЕЛЕНИЕ СЕРИЙ N = 6

a1 (3) 4

a2 (3) 4

a3 (3) 4

a4 (3) 3

a 5 (3) 2

a1 ( 4 ) 8

a 2 ( 4 ) 8

a 3 ( 4 )

7

a5 ( 4 ) a4 4 ( 4 )

6

L

a1(L)

a2(L)

a3(L)

a4(L)

a5(L)

Sum

0

1

0

0

0

0

1

1

1

1

1

1

1

5

2

2

2

2

2

1

9

3

 

 

 

 

 

17

4

 

 

 

 

 

33

5

16

15

14

12

8

65

6

31

30

28

24

16

129

44

серий в может

ФАКТИЧЕСКОЕ И ИДЕАЛЬНОЕ РАСПРЕДЕЛЕНИЕ СЕРИЙ

Реальное количество сортируемой

отличатьсяпоследовательностиот идеального.

Если данный факт будет проигнорирован в алгоритме сортировки, основанном на стратегии "сливать до опустошения" (merge- until-empty), то его эффективность будет существенно ниже идеальной.

Для решения данной проблемы используется введение фиктивных (пустых) серий. На их слияние не затрачивается времени. Цель фиктивных серий – обеспечить нужное количество слияний на каждом проходе.

LSum

01

15

29

317

433

5 65

6129

45

ПРИМЕНЕНИЕ МНОГОФАЗНОЙ СОРТИРОВКИ БЕЗ УЧЕТА ИДЕАЛЬНОГО РАСПРЕДЕЛЕНИЯ.

13

8

0

10

5

0

5

0

8

5

0

5

0

5

3

0

5

0

3

2

0

 

?

 

1

0

2

 

 

 

 

 

0

1

1

 

 

 

1

0

0

 

 

 

46

ПРИМЕНЕНИЕ МНОГОФАЗНОЙ СОРТИРОВКИ БЕЗ УЧЕТА ИДЕАЛЬНОГО РАСПРЕДЕЛЕНИЯ.

13

8

0

13

2

0

5

0

8

11

0

2

0

5

3

9

2

0

3

2

0

7

0

2

1

0

2

5

2

0

0

1

1

3

0

2

1

0

0

1

2

0

47

ПРИМЕНЕНИЕ МНОГОФАЗНОЙ СОРТИРОВКИ БЕЗ УЧЕТА ИДЕАЛЬНОГО РАСПРЕДЕЛЕНИЯ.

13

8

0

7

8

0

5

0

8

0

1

7

0

5

3

1

0

6

3

2

0

0

1

5

1

0

2

1

0

4

0

1

1

0

1

3

1

0

0

1

0

2

48

 

ЗАКЛЮЧЕНИЕ

В рамках

данной лекции были рассмотрены

следующие алгоритмы сортировки: 1.Алгоритм турнирной сортировки. 2.Алгоритм пирамидальной сортировки.

3.Алгоритм Хоара быстрой сортировки (Quick sort), 4.Вероятностная версия быстрой сортировки. 5.Блуждающая сортировка (Stooge sort). 6.Сортировки слиянием.

7.Многофазные сортировки.

© Кафедра вычислительных систем ФГОБУ

49

ВПО «СибГУТИ»

 

ЛИТЕРАТУРА

1.Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона / Пер. с англ. Ткачев Ф.В. – М.: ДМК Пресс, 2012 г. – 272 с., 2.Кнут, Д.Э. Искусство программирования: в 3 т. Т. 3. Сортировка и поиск [Текст] : [учеб.

пособие]; пер. с англ. / под общ. ред. Ю.В. Казаченко. - 3-е изд. – М.: Издат.дом "Вильямс", 2010. – 822с.

3.Седжвик Р Алгоритмы на C++ (Algorithms in C++): Пер. с англ. – М.: Издательский дом "Вильямс", 2011 г. – 1056 c. – ISBN 978-5-8459-1650-1, 978-0-321-60633-4;

96