Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[6]

Упражнения

1.3-1 Пусть сортировки вставками и слиянием исполняются на одной и той же машине и требуют 8га2 и 64га log га соответственно. Для каких значений га сортировка вставками является более эффективной? Как можно улучшить алгоритм сортировки слиянием?

1.3-2 При каком наименьшем значении га алгоритм, делающий 100га2 операций, эффективнее алгоритма, делающего 2п операций?

Задачи

1-1 Сравнение времени работы

Пусть имеется алгоритм, решающий задачу размера га за /(га) микросекунд. Каков максимальный размер задачи, которую он сможет решить за время tl Найти его для функций и времён, перечисленных в таблице.

1

сек

1

мин

1

час

1

день

1

месяц

1

год

1

век

log га

л/п

га

га log га

га2

га3

га!

1-2 Сортировка вставками для коротких кусков

Асимптотически сортировка слиянием быстрее сортировки вставками, но для малых га соотношение обратное. Поэтому имеет смысл достаточно короткие куски не разбивать дальше, а применять к ним сортировку вставками. Вопрос в том, где следует провести границу.

а.Пусть массив длины га разбит на к частей размера п/к. Покажите, что можно отсортировать все части по отдельности (с помощью сортировки вставками) за время Q(nk).

б.Покажите, что после этого можно слить все части в один упорядоченный массив за время 0(ralog(ra/£;)).

в.Тем самым общее время работы такого смешанного алгоритма есть в (пк + га log (п/к)). Какова максимальная скорость роста к как функции от га, при котором это время по-прежнему есть 0(ralog га)?

г.Как бы вы стали выбирать оптимальное значение к на прак-


тике?

1-3 Число инверсий

Пусть А[1..п] - массив из га различных чисел. Нас будет интересовать количество инверсий (inversions) в этом массиве, т.е. число пар г < j, для которых A[i] > A[j].

а.Укажите пять инверсий в массиве (2, 3, 8, 6,1).

б.Каково максимально возможное число инверсий в массиве длины га?

в.Как связано время работы алгоритма сортировки вставками и число инверсий? Объясните свой ответ.

г.Постройте алгоритм, который считает число инверсий в массиве длины га за время О (га log га). (Указание: Модифицируйте алгоритм сортировки слиянием.)

Замечания

Есть множество хороших книг о построении алгоритмов. Вот некоторые из них: Ахо, Хопкрофт и Ульман [4,5], Баас [14], Брас-сар и Бретли [14], Хоровиц и Сахни [105], Кнут [121, 122, 123], Манбер [142], Мельхорн [144, 145, 146], Пурдом и Браун [164], Рейнгольд, Нивергельт и Део [167], Седжвик [175], Уилф [201]. Практические аспекты разработки эффективных алгоритмов: Бентли [24,25], Гоннет [90].

В 1968 году Кнут опубликовал первый из трёх томов серии Искусство программирования для ЭВМ [121, 122, 123], который стал началом новой эпохи в науке об эффективных алгоритмах. Все три тома до сих пор остаются незаменимым справочником. Как пишет Кнут, слово «алгоритм» происходит от имени арабского математика девятого века Ал-Хорезми (al-Khowarizmi, или al-Khwarizmi).

Ахо, Хопкрофт и Ульман [4] указали на важность асимптотического анализа времени работы как средства сравнения эффективности алгоритмов. Они широко использовали рекуррентные соотношения для получения оценок времени работы.

Книга Кнута [123] содержит исчерпывающее изложение множества алгоритмов сортировки. Он сравнивает различные алгоритмы, точно подсчитывая число различных шагов (мы делали это для сортировки сравнением). Рассматриваются различные варианты сортировки вставками, включая сортировку Шелла (D. L. Shell), которая использует сортировку подпоследовательностей с постоянным шагом для уменьшения числа операций.

Сортировка слиянием также описана в книге Кнута, который указывает, что механическое устройство для слияния двух стопок перфокарт за один проход было изобретено в 1938 году. По-


видимому, Джон фон Нейман (J. von Neumann), один из основателей информатики, написал программу сортировки слиянием для компьютера EDVAC в 1945 году.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203] [стр.204] [стр.205] [стр.206] [стр.207] [стр.208] [стр.209] [стр.210] [стр.211] [стр.212] [стр.213] [стр.214] [стр.215] [стр.216] [стр.217] [стр.218] [стр.219] [стр.220] [стр.221] [стр.222] [стр.223] [стр.224] [стр.225] [стр.226] [стр.227] [стр.228] [стр.229] [стр.230] [стр.231] [стр.232] [стр.233] [стр.234] [стр.235] [стр.236] [стр.237] [стр.238] [стр.239] [стр.240] [стр.241] [стр.242] [стр.243] [стр.244] [стр.245] [стр.246] [стр.247] [стр.248] [стр.249] [стр.250] [стр.251] [стр.252] [стр.253] [стр.254] [стр.255] [стр.256] [стр.257] [стр.258] [стр.259] [стр.260] [стр.261] [стр.262] [стр.263] [стр.264] [стр.265] [стр.266] [стр.267] [стр.268] [стр.269] [стр.270] [стр.271] [стр.272] [стр.273] [стр.274] [стр.275] [стр.276] [стр.277] [стр.278] [стр.279] [стр.280] [стр.281] [стр.282] [стр.283] [стр.284] [стр.285] [стр.286] [стр.287] [стр.288] [стр.289] [стр.290] [стр.291] [стр.292] [стр.293] [стр.294]