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


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




[58]

Задачи к главе 9

183

Р{Х ж}. Предположим, что на вход алгоритма поступает последовательность из га чисел, которые являются независимыми случайными величинами с функцией распределения Р. Функция Р непрерывна и может быть вычислена за время 0(1). Как отсортировать такую последовательность, чтобы среднее время сортировки линейно зависело от га?

Задачи

9-1 Нижние оценки для среднего числа сравнений

В этой задаче мы докажем, что среднее время работы любого детерминированного или вероятностного алгоритма сортировки га чисел, основанного на сравнениях, есть fi(ralgra). Начнем с того, что рассмотрим детерминированный алгоритм А, основанный на сравнениях; пусть Тд - его разрешающее дерево. Мы предполагаем, что все перестановки входной последовательности равновероятны.

а.Напишем на каждом листе дерева Тд вероятность того, что алгоритм завершится в этом листе. Покажите, что в га! листах написано 1/га!, а в остальных листах написан нуль.

б.Обозначим через D(T) сумму глубин всех листьев в двоичном дереве Г (мы предполагаем, что каждая вершина либо является листом, либо имеет двух детей - так устроены разрешающие деревья). Пусть Г - дерево с k > 1 листьями, и пусть через LT и RT обозначены левое и правое поддеревья. Покажите, что D(T) = D(LT) + D(RT) + к.

в.Пусть d(m) - наименьшее значение числа D(T) среди всех деревьев Т с т листьями. Покажите, что d(k) = mini8 i{d(i) + d(k - г) + к}. (Указание: дерево LT может содержать от 1 до к - 1 листьев.)

г.Покажите, что для фиксированного к выражение г lg г + (к - г) \g(k - г) достигает минимума на отрезке от 1 до к - 1 в точке г = к/2. Выведите отсюда, что d(k) = Q(klgk).

д.Покажите, что 0(Гд) = £7(га! lg(ra!)), и выведите отсюда, что время сортировки га чисел с помощью разрешающего дерева Гд, усреднённое по всем перестановкам на входе, есть Q(гаlgra).

Теперь рассмотрим вероятностный алгоритм В, основанный на сравнениях. Его можно описать с помощью разрешающего дерева, в котором бывают узлы двух типов: соответствующие сравнениям и случайным выборам. В узлах второго типа происходит вызов процедуры Random(1,t); у такого узла г детей, каждый из которых выбирается с равной вероятностью. (Для разных узлов число г может быть разным.)

е.Пусть имеется вероятностный алгоритм сортировки В. Для


каждой перестановки на входе найдём математическое ожидание числа сравнений. Усредним эти ожидания по всем входам; получится некоторое число Т. Покажите, что существует детерминированный алгоритм А, у которого среднее (по всем перестановкам на входе) число сравнений не превосходит Т. Выведите отсюда, что для любого вероятностного алгоритма максимальное (по всем входам) математическое ожидание числа сравнений есть Q(гаlgra).

(Указание. Если среднее по всем входам и всем вариантам случайных чисел равно Г, то существует такой набор случайных чисел, при котором среднее по всем входам не больше Г.)

9-2 Сортировка без дополнительной памяти за линейное время

а.Пусть нам дан массив записей, который необходимо отсортировать по ключу, принимающему значение 0 или 1. Придумайте простой алгоритм, осуществляющий такую сортировку за линейное время и использующий дополнительную память 0(1) (иными словами, объем дополнительной памяти не зависит от размеров сортируемого массива).

б.Можно ли воспользоваться алгоритмом из пункта (а) для цифровой сортировки по 6-битному ключу за время О (6га)? Объясните свой ответ.

в.Пусть га записей надо отсортировать по ключу, принимающему целые значения от 1 до к. Как модифицировать сортировку подсчётом, чтобы можно было отсортировать эти записи за время 0(п-\-к), и при этом объем используемой памяти (помимо сортируемого массива) был О (к)? (Указание. Начните со случая к = 3.)

Замечания

Анализ алгоритмов сортировки с помощью разрешающих деревьев был предложен Фордом и Джонсоном [72]. В фундаментальной книге Кнута [123], посвященной сортировке, рассматриваются многочисленные варианты этой задачи и доказывается нижняя оценка числа сравнений (приведённая в этой главе). Нижние оценки для задачи сортировки и различных обобщений разрешающих деревьев подробно изучались Бен-Ором [23].

Согласно Кнуту, заслуга изобретения сортировки подсчётом (1954 год) и её комбинации с цифровой сортировкой принадлежит Сьюарду (H.H.Seward). Сама же цифровая сортировка, видимо, давно применялась для сортировки перфокарт. Кнут утверждает, что первое печатное описание этого метода появилось в 1929 году в качестве составной части руководства по оборудованию для работы с перфокартами, написанного Комри (L. J. Comrie). Сортировка вычерпыванием используется с 1956 года, когда Айзек (E.J.Isaac)


и Синглетон (R. С. Singleton) предложили основную идею.



[стр.Начало] [стр.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]