КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Сложность в среднем
Задачи 1. Для любого n eZ выполнено n = I n 2 I + Г n 21, для любого a еЖ выполнено \a]=-[-a\. 2. Для любых k, n GN+, k > 1, выполнено Llog k n\ + 1 = [log k (n + 1)1. Указание. Пусть m еN+ таково, что km-1 Цn<km, тогда km-1 <n + 1Цkm. Прологарифмировать по основанию k обе системы неравенств. 3. Предположим, что в нашем распоряжении нет операции обмена c:=a; a:=b; b:=c; чему в этом случае равны сложности первого и второго варианта сортировки простыми вставками по суммарному числу сравнений и присваиваний? 4. Пусть полином f(n) = amnm +... + a1n + a0 имеет ненулевой а) f (n) = O (nk)<=> k:? m, б) f (n) = n(nk)<=> k ^ m, в) f (n) = 6(nk)<=> k = m, при k = m также выполнено f(n)~amnm. Подробнее об аддитивных цепочках см. в [19, разд. 4.6.3]. Задачи 5. Пусть Р(п)—количество простых множителей целого числа п > 1 с учетом кратности. Имеет место точная оценка Р{п) = О (log п). 6. (Продолжение предыдущей задачи.) Пусть Р*(т)= шах Р(п), т = 2,3,... Верно ли, что P *(m) = 6(m)? 7. Указать все вещественные значения 5, при которых справедлива а) TTD(n) = 0(.n5), б) Гтп(п) = П(п5), в) rTD(n) = 6(n 5), где T TD(n)—сложность алгоритма пробных делений (пример 1.2). 8. Железнодорожный сортировочный узел устроен так, как пока МИМО вСЗСТИ» тупик Рис. 6. Сортировочный узел. двух типов (на рис. 6—черные и белые), по п штук каждого типа. Тупик может вместить все 2п вагонов. Требуется, пользуясь тремя сортировочными операциями В, ИЗ, МИМО, собрать вагоны на левой стороне так, чтобы типы вагонов чередовались. Указать такой алгоритм решения этой задачи, сложность которого по числу сортировочных операций при рассмотрении п в качестве размера входа равнялась бы Зп-1. 9. Хорошо известно, что мультипликативная сложность метода Гаусса решения системы п линейных уравнений с п неизвестными допускает оценки 1) 0(п3), 2)|п3+0(п2), 3) в(п3). 38 Глава 1. Сложности алгоритмов как функции числовых аргументов а) Из какой оценки (указать номер) следуют две остальные? б) Можно ли из приведенных оценок выбрать такую, которая яв в) Является ли оценка П(п3) следствием какой-либо из оценок 1, 10. Для сложности T qS (п) быстрой сортировки выполняется оценка Указание. Оценка T QS(n) = fi(n 2) устанавливается предъявлением примера. Неравенство TQS(n)<n2 можно доказать индукцией по п, используя то, что при фиксированном n eN+ квадратичная функция (т - I)2 + (п - т)2 от т принимает на отрезке [1, п ] свое максимальное значение в одном из концов этого отрезка. 11. Алгоритм, использующий только аддитивные операции и срав 12. (Продолжение предыдущей задачи.) Пусть T sqi(n), T sq2(n) — Т* ( т )= max Tsa(n), Г* (m) = max Tsa (n), m = 2,3,... а) Как связаны значения функций T s*qi(m) и T s*2(m)? б) Имеются ли среди оценок 6(m), O (log m), в(2т / 2), 0(2т) такие, 13. Изменим в алгоритме Грэхема (пример 3.1) этап удаления Задачи одну вдавленную вершину. Сложность этого варианта рассматриваемого этапа алгоритма Грэхема есть Г2(п2), где п — начальное число вершин ломаной (в то время как сложность этого этапа в алгоритме Грэхема есть 0(п)). 14. Рассмотрим в главных чертах алгоритм Шеймоса—Хоя1 построения пересечения Р n Q двух выпуклых многоугольников Р и Q содержащих соответственно Z и т вершин. Считаем, что многоугольники задаются массивами P1,P2,...,Pi и Q i, Q 2, •••j Qm координат своих последовательных вершин. Упорядочим множество всех абсцисс обоих многоугольников по возрастанию (для простоты считаем, что абсциссы попарно различны, хотя это и несущественно), в результате получим абсциссы аг < а 2 <... < а1 + т (рис. 7). Теперь для каждого i = 1, 2,..., Z + т - 1 a 1 a 2 a 3... ai ai +1... am + l Рис. 7. Алгоритм Шеймоса—Хоя (1 = 5, т = 4). строим пересечение трапеций, вырезаемых прямыми x = at,x = ai+1 в заданных многоугольниках. (В вырожденном случае такая трапеция превращается в треугольник.) Из получившихся пересечений трапеций можно собрать Р n Q, удаляя лишние вершины. Привлекая дополнительно те или иные структуры данных (массивы, списки,...) и уточняя по мере надобности какие-то этапы алгоритма, добиться того, чтобы в итоге алгоритм (обозначим его буквами SH) имел следующие сложностные характеристики. Если размер входа — это г = 1 + т, то T SH(r) = 6 (г); если размер входа — это s = max{Z, т}, то rs'H(s) = 6(s); если размер входа имеет два параметра См. [30, гл. 7]. 40 Глава 1. Сложности алгоритмов как функции числовых аргументов I и т, то Tg'ti(l,m) = Q(l + m) —мы рассматриваем операции сравнения и перемещения элементов, арифметические операции, как мультипликативные, так и аддитивные, все вместе. Для пространственной сложности— S SH(г), S'SH(s) или S '^a, т) в зависимости от выбора размера входа — получаем те же оценки в(г), 6(s) или 6(Z + m). Указание. Если исходные многоугольники представить, например, двунаправленными списками координат последовательных вершин, то список абсцисс (а1,а2,...,а!+т), аг < а2 <... < а1+т, можно получить с временными затратами, не превосходящими с0(1 + т). При определении пространственной сложности можно заметить, что общее число вершин искомого пересечения не превосходит 3(1 + т) —это следует непосредственно из самого алгоритма Шеймоса—Хоя: при построении пересечения двух трапеций может возникнуть не более двух дополнительных вершин. 15. Расширить алгоритм построения вояжа в ориентированном графе G = (V, Е) с выделенной начальной вершиной v (пример 3.2) так, чтобы помимо вояжа алгоритм выдавал также информацию о том, охватил ли вояж все ребра графа. Размер входа имеет два параметра m =| V |, п = \Е\. Для графов, не содержащих изолированных вершин, т. е. вершин, подобных вершине 7 на рис. 3, сложность расширенного алгоритма должна быть 0(,п). 16. Задача распознавания существования и фактического построения эйлерова цикла в данном графе для ориентированного случая выглядит так: выяснить, имеется ли в данном ориентированном графе цикл, проходящий по всем ребрам графа по одному разу, и если существует, то построить этот цикл. Воспользовавшись рассмотренным алгоритмом построения вояжа (пример 3.2), дать алгоритм решения этой задачи. Размер входа имеет два параметра m= \V\, п = \Е\. Для графов, не содержащих изолированных вершин, сложность предлагаемого алгоритма должна быть 0(,п). 17. Путник столкнулся со стеной, простирающейся бесконечно в обе стороны. Имеется дверь в этой стене, но путник не знает ни расстояния до двери, ни направления к ней. Предложить позволяющий добраться до двери алгоритм, сложность которого допускает оценку 0{п), где п — число шагов (неизвестное путнику), изначально отделяющее путника от двери. Указание. Сумма sk = 1 + q +... + qk, q > 1, есть величина порядка qk, т.е.sk = e(qk). 18. Будем считать затратностью любого построения на плоскости Задачи прямых), проводимых в ходе построения. Рассмотрим задачу построения отрезка, длина которого равна 1 / п от длины исходного отрезка, считая п размером входа. Предложить для этой задачи такой алгоритм решения, сложность которого допускает оценку O (log n).1 19. При п = 15 возможно вычисление ап с меньшим числом умножений, чем требуется бинарному алгоритму возведения в степень. 20. Пусть двоичная запись числа n eN есть ft...ft/Зо. Алгоритм и:=1; for i = k downto 0 do и:=и-и; if Pi = l then u:=u-afi od вычисляет an. Сравнить сложность этого алгоритма по числу умножений с аналогичной сложностью бинарного алгоритма возведения в степень, рассмотренного в примере 4.2, при использовании п или соответственно т = А(п) в качестве размера входа. (Описанный в этой задаче алгоритм является еще одним вариантом бинарного алгоритма возведения в степень.) 21. Для функции Z(n), определенной в конце § 4, выполнено 1{аЪ) s= sSZ(a)+Z(b)-l для всех a, b eN+. 22. (Продолжение предыдущей задачи.) Можно ли утверждать, что Z(ab) = Z(a)+Z(b)-l для всех a, b eN+? 1 Разбор задач на построение с точки зрения их сложности содержится, например, в [11, §15]. Глава 2
Дата добавления: 2014-01-11; Просмотров: 756; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |