Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Элементы теории информации в защите информации. Учебное пособие для академического бакалавриата

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
П.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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]