Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Элементы теории информации в защите информации. Учебное пособие для академического бакалавриата
.pdf
П.8. Cложность сортировки неупорядоченного множества
1
i
a
2
i
a
1
k
a
1
i
a
1
i
a
2
i
a
1ika−
log
∑
Теорема П.8.1. Для любого алгоритма А сортировки
n элементов:
S
(n) ≥ log2n!.
A
Доказательство. Представим алгоритм сортировки
А в виде бинарного дерева D. Любая перестановка (i
,i
) чисел 1, 2, …, n должна быть меткой хотя бы одного ли-
n
1,i2
,…
ста. Значит, в дереве D не менее n! листьев. Тогда по лемме П.7.1 h(D) ≥ log
n!. Но по определению SA(n)=h(D).
2
Теорема доказана.
Следствие П.8.1. S
(n) ≥ log2n!.
сорт
Отсюда в соответствии с формулой Стирлинга получаем:
Следствие П.8.2. S
(n) ≥ (1-о(1))nlog2n при n→∞.
сорт
Опишем алгоритмы со сложностью, близкой к ниж-
ним оценкам.
Сортировка вставками. Данный класс алгоритмов
сортировки поочередно решает последовательность подзадач: отсортировать множество {a
,…,ak} при k=1,…,n.
1
При k=1 (базис индукции) алгоритм тривиален, при
k=n получаем решение полной задачи. При решенной
подзадаче для параметра k–1 решение подзадачи для параметра k выполняется путем вставки элемента a
в уже
k
упорядоченную последовательность длины k–1, где
<
<…<
мест вставки: перед
Вставка элемента a
. Для элемента ak имеется k возможных
i
−
, между
выполняется алгоритмом бинарного
k
и
, …, после
.
поиска.
Обозначим S
(n) сложность сортировки n элементов
вст
вставками.
Теорема П.8.2. S
Доказательство. Для вставки элемента a
k возможных мест достаточно выполнить не более log
(n) ≤ log2n! + n–log2n.
вст
с учетом
k
2
k
сравнений. Значит, весь алгоритм требует сравнений
не более
2
knk≤≤
. Пользуясь верхней оценкой
2
— 211 —

Приложения
2
log
∑
2
log
∑
1
i
a
2
i
a
a
1
j
b
2
j
b
j
nk
b
−
log2k≤1+log2k
во всех случаях, когда k не есть степень двойки (таких чисел не больше n–log
log
k на log2k, получаем:
2
≤ n – log2n +
2
knk≤≤
Следствие П.8.3. S
Следствие П.8.4. S
n), а в остальных случаях заменяя
2
= log2n! + n – log2n.
2
knk≤≤
(n) ≤ (1+о(1))nlog2n при n→∞.
вст
(n) = (1+о(1))nlog2n при n→∞.
сорт
Сортировка слиянием. Сортировка n элементов слия-
нием описывается рекурсивно.
При n=1 алгоритм тривиален.
При n>1 последовательность a
на 2 отрезка a
,…,ak и a
1
,…,an, где k=n/2, сортируем
k+1
,…,an разбиваем
1
слиянием каждый из отрезков и затем объединяем (сливаем) оба отсортированных отрезка. Более точно, из отсортированных множеств A={a
,
<
i
k
<…<
ванную последовательность С={с
} и B={bj}, где
i
<
<…<
, формируем общую отсортиро-
} следующим образом.
i
Сравниваем первые элементы отсортированных отрезков,
меньший из них является наименьшим элементом последовательности С. Затем больший из этих элементов сравниваем со вторым элементом другого отрезка, меньший
из них является вторым элементом последовательности
С и т.д. Если на некотором шагу исчерпаны все элементы
одного из отрезков, то оставшуюся часть другого отрезка
переносим в С, сохраняя их порядок, в качестве последних элементов С.
Обозначим S
n элементов слиянием (в худшем случае). Тогда S
(n) сложность алгоритма сортировки
сл
(1)=0
сл
и в соответствии с описанной процедурой слияния отрезков при n>1, требующей не более n–1 сравнений, выполнено:
S
(n) = Sсл(k) + Sсл(n – k) + n – 1.
сл
— 212 —

П.8. Cложность сортировки неупорядоченного множества
Лемма П.8.1. При любом целом неотрицательном
числе k и n=2k:
S
(n) = nlog2n – n+1.
сл
Доказательство (индукция по k). При k=0 равенство
S
(1)=0 верное.
сл
Пусть утверждение верно при всех k от 0 до m–1, где
m натуральное. Тогда для k=m имеем с учетом предположения индукции:
S
(2m) = 2Sсл(2
сл
m–1
)+2m–1 =
2(2
m–1
(m–1)–2
m–1
+1)+2m–1 = m2m–2m+1.
Значит, утверждение верно для m и для всех натуральных чисел.
Теорема П.8.3. При любом натуральном n
S
(n) ≤ 2nlog2n+1.
сл
Доказательство. При n=1 утверждение верно.
Для любого натурального n>1 найдется натуральное число k такое, что 2
k–1
<n≤2k. Так как функция Sсл(n)
не убывает с ростом n, то с учетом леммы П.8.1
S
(n) ≤ Sсл(2k) = k2k–2k+1 = 2k(k–1)+1 < 2nlog2n+1,
сл
так как 2
k
<2n и k–1<log2n. Теорема доказана.
П.8. Задачи и упражнения
П.8.1. Сколько операций попарного сравнения чисел
требуется для поиска числа в упорядоченном массиве порядка: а) 16000000; б) 32000000000; в) 8×10
П.8.2. Сколько операций попарного сравнения
чисел требуется для упорядочения массива порядка:
а) 1600000000; б) 320000000; в) 8×10
16
П.8.3. Какова вычислительная сложность сортировки n чисел, если две «половины» множества отсортировать вставками, а затем выполнить их слияние?
— 213 —
18
?
?

Приложения
ab+
2
П.8.4. Пусть массив А1={a1,…,an} модифицируется
в массив А
шего чисел a,b∈А1 числом (a+b)/2
порядка n–1 заменой наибольшего и наимень-
2
. Оцените вычис-
лительную сложность цепи модификаций
А
1→А2
→…→Аn.
П.8.5. Сколько времени в среднем требует сортиров-
9
ка 10
рости компьютера 10
случайных 32-разрядных двоичных чисел при ско-
11
битовых оп./сек.?
П.9. Таблицы для расчетов
Таблица 1.
Соответствие дробей и десятичных чисел
(для расчета двоичных кодов)
Дробь Десятичная запись Дробь Десятичная запись
–1
2
–2
2
–3
2
–4
2
–5
2
–6
2
–7
2
–8
2
–9
2
–10
2
0,5 2
0,25 2
0,125 2
0,0625 2
0,03125 2
0,015625 2
0,0078125 2
0,00390625 2
0,001953125 2
0,0009765625 2
–11
–12
–13
–14
–15
–16
–17
–18
–19
–20
— 214 —
0,00048828125
0,000244140625
0,0001220703125
0,00006103515625
0,000030517578125
0,0000152587890625
0,00000762939453125
0,000003814697265625
0,0000019073486328125
0,00000095367431640625

x
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0,10
0,11
0,12
0,13
0,14
0,15
0,16
0,17
0,18
0,19
-xlog
0,0664
0,0200
0,1518
0,1858
0,2161
0,2436
0,2686
0,2915
0,3127
0,3322
0,3503
0,3671
0,3827
0,3971
0,4106
0,4231
0,4346
0,4454
0,4553
Значения функции f(x)=–xlog
x
x
2
0,20
0,21
0,22
0,23
0,24
0,25
0,26
0,27
0,28
0,29
0,30
0,31
0,32
0,33
0,34
0,35
0,36
0,37
0,38
0,39
-xlog2x
0,4644
0,4729
0,4806
0,4877
0,4942
0,5000
0,5053
0,5101
0,5143
0,5180
0,5211
0,5238
0,5261
0,5279
0,5292
0,5302
0,5307
0,5308
0,5305
0,5298
x
0,40
0,41
0,42
0,43
0,44
0,45
0,46
0,47
0,48
0,49
0,50
0,51
0,52
0,53
0,54
0,55
0,56
0,57
0,58
0,59
-xlog2x
0,5288
0,5274
0,5257
0,5236
0,5212
0,5185
0,5154
0,5120
0,5083
0,5043
0,5000
0,4955
0,4906
0,4855
0,4801
0,4744
0,4685
0,4623
0,4559
0,4492
0,60
0,61
0,62
0,63
0,64
0,65
0,66
0,67
0,68
0,69
0,70
0,71
0,72
0,73
0,74
0,75
0,76
0,77
0,78
0,79
П.9. Таблицы для расчетов
x
2
x
-xlog2x
0,4422
0,4350
0,4276
0,4200
0,4121
0,4040
0,3957
0,3871
0,3784
0,3694
0,3602
0,3509
0,3413
0,3315
0,3215
0,3113
0,3009
0,2904
0,2796
0,2687
Таблица 2.
x
-xlog2x
0,80
0,2576
0,81
0,2463
0,82
0,2348
0,83
0,2231
0,84
0,2113
0,85
0,1993
0,86
0,1871
0,87
0,1748
0,88
0,1623
0,89
0,1496
0,90
0,1368
0,91
0,1238
0,92
0,1107
0,93
0,0974
0,94
0,0839
0,95
0,0703
0,96
0,0565
0,97
0,0426
0,98
0,0286
0,99
0,0144
— 215 —

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА
1. Алексеев В.Б. Введение в теорию сложности ал-
горитмов. — М.: Издательский отдел ф-та ВМиК МГУ,
2002. — 82 с.
2. Галлагер Р. Теория информации и надежная
связь. — М.: Советсткое радио, 1974.
3. Гэри М., Джонсон Д. Вычислительные машины
и труднорешаемые задачи. — М.: Мир, 1982.
4. Коблиц Н. Курс теории чисел и криптографии. —
М.: Научное изд-во ТВП, 2001.
5. Колесник В.Д., Полтырев Г.Ш. Курс теории ин-
формации. — М.: Наука, 1982.
6. Кудряшов Б.Д. Теория информации. Учебник
для вузов. — СПб.: Питер, 2009. — 320 с.: ил. — (Серия
«Учебник для вузов»).
7. Фомичев В.М., Мельников Д.А. Криптографические методы защиты информации. В 2-х ч.: Учебник для
академического бакалавриата / Под ред. В.М. Фомичева. — М.: ЮРАЙТ. — 2016. — 454 с.
8. Чистяков В.П. Курс теории вероятностей: Учеб. —
3-е изд., испр. — М.: Наука. Гл. ред. Физ.-мат. лит. —
1987. — 240 с.
9. Шеннон К. Теория связи в секретных системах //
Работы по теории информации и кибернетике: Сборник. — М.: Иностранная литература, 1963.
10. Cover T.M, Thomas J.A. Elements of Information
Theory. John Wiley & Sons, New York, 1991.
— 216 —

ДЛЯ ЗАМЕТОК
— 217 —

ФОМИЧЕВ Владимир Михайлович
ЭЛЕМЕНТЫ ТЕОРИИ
ИНФОРМАЦИИ
В ЗАЩИТЕ ИНФОРМАЦИИ
Учебное пособие
для академического бакалавриата
Публикуется в авторской редакции
Верстка и дизайн обложки Середы Т.В.
Издательство «Прометей»
119002, г. Москва, ул. Арбат, д. 51, стр. 1
Тел./факс: +7 (495) 730-70-69
E-mail: info@prometej.su
Подписано в печать 31.05.2021
Формат 60×84/16. Объем 13,625 п.л.
Тираж 500 экз. Заказ 1346
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
