КАТЕГОРИИ: Архитектура-(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) |
Оптимальные алгоритмы
Нижняя граница сложности класса алгоритмов определяется не единственным образом. Например, f (n) = 0 всегда является нижней границей, равно как и любая отрицательная функция. Чем больше найденная нижняя граница, тем она нетривиальнее и ценнее. Сигналом о том, что мы не сможем построить нижнюю границу большую, чем ПО Глава 4. Нижняя граница сложности. Оптимальные алгоритмы уже имеющаяся у нас нижняя граница f (n), может служить, например, наличие A е .s4, для которого TA(n) = f(n). С такой ситуацией мы сталкиваемся в предыдущем параграфе в примерах 14.1 и 14.3. Известный нам алгоритм поиска наименьшего элемента и алгоритм бинарного поиска места элемента в упорядоченном массиве имеет каждый сложность, совпадающую с найденной нижней границей. Эти алгоритмы являются оптимальными в смысле следующего определения. Определение 15.1. Пусть .s4 — класс алгоритмов решения некоторой задачи. Пусть принято соглашение о том, в чем измеряются затраты алгоритмов и что считается размером входа, и пусть n —обозначение размера входа. Алгоритм A е .s4 называется оптимальным в j4, если TA(n) является нижней границей сложности алгоритмов из j4. Пример 15.1. При получении нижней границы сложности и доказательстве оптимальности иногда бывает полезным привлечение функций на наборах тех величин, которые возникают в процессе выполнения алгоритма, например, на наборах значений переменных, используемых алгоритмом. Предложение 15.1. Функция f (n) = Г2 n 1 - 2 является нижней границей сложности алгоритмов одновременного выбора наибольшего и наименьшего элементов массива длины n c помощью сравнений. Доказательство. Каждый этап выполнения произвольного алгоритма V, основанного на сравнениях и предназначенного для поиска наибольшего и наименьшего элементов массива, может быть охарактеризован четверкой (A, B, C, D) подмножеств множества исходных элементов {xг, x2, ■ ■ ■, xn}, где • A состоит из всех тех элементов, которые вообще не сравнивались; • B состоит из всех тех элементов, которые участвовали в некоторых сравнениях и всегда оказывались большими; • C состоит из всех тех элементов, которые участвовали в некоторых сравнениях и всегда оказывались меньшими; • D состоит из всех тех элементов, которые участвовали в некоторых сравнениях, иногда оказываясь большими, а иногда — меньшими. Пусть a, b,c,d — количества элементов множеств A, B, C, D соответственно. Исходная ситуация характеризуется равенствами a = n, b = = c = d = 0. После завершения алгоритма должны выполняться равен- § 15. Оптимальные алгоритмы ства а = 0, b = c = 1, d = n-2. После первого сравнения на протяжении всего выполнения алгоритма постоянно будут иметь место неравенства Ъ^1,с^1. Все сравнения, совершаемые при выполнении алгоритма V, можно разбить на типы, обозначаемые AA,AB,AC,AD, BB,BC,BD,CC, CD,DD, например: сравнение принадлежит типу АВ, если один из сравниваемых элементов берется из А, другой—из В, и т. д. Исходя из этого, можно выписать все возможные изменения четверки (а, Ь, с, d) под действием сравнений разных типов:
Дата добавления: 2014-01-11; Просмотров: 414; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |