Главная » Просмотр файлов » С.А. Абрамов - Лекции о сложности алгоритмов (pdf)

С.А. Абрамов - Лекции о сложности алгоритмов (pdf) (1123764), страница 4

Файл №1123764 С.А. Абрамов - Лекции о сложности алгоритмов (pdf) (С.А. Абрамов - Лекции о сложности алгоритмов (pdf)) 4 страницаС.А. Абрамов - Лекции о сложности алгоритмов (pdf) (1123764) страница 42019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

> xn . Легко устанавливает(n + 2)(n − 1).ся, что TeI (n) =22Рассматривая сложности TeI1 (n), TeI2 (n) первого и второго вариантов сортировки простыми вставками по общему числу сравненийи обменов, мы имеемTeI1 (n) = n(n − 1),(n + 2)(n − 1)TeI2 =,2(.)и, таким образом, TeI1 (n)/TeI2 (n) → 2 при возрастании n.Обладающий большей общей сложностью TeI1 первый вариант алгоритма рассматривается в литературе значительно чаще второго, нев последнюю очередь из-за того, что его запись несколько проще: мыможем со всеми подробностями записать первый вариант с помощьюпсевдокодаfor i = 2 to n dok := i ;while k > 0 and xk > xk+1 do xk ↔ xk+1; k := k − 1 odod(предполагается, что если k ¶ 0, то булево выражение, имеющее видконъюнкцииk > 0 and xk > xk+1 ,принимает значение 0, т.

е. «ложь», даже если при этом, например,значение xk не определено, и, следовательно, не определено значениевторого члена конъюнкции).Второй вариант будет иметь вид:for i = 2 to n dok := 1;while k < i and xk < xi do k := k + 1 od;for j = i − 1 downto k do x j ↔ x j +1 ododВ первом варианте используется на один оператор цикла меньше,но с точки зрения вычислительной сложности это не является пре-§ . Затраты алгоритма для данного входаимуществом, — важным является число лишь учитываемых операцийпри выполнении алгоритма. Хотя обычно для каждой сортировки рассматривают сложности по сравнениям и перемещениям раздельно,но, тем не менее, если эти сложности совпадают с соответствующимисложностями другой сортировки, то совместное рассмотрение обоихтипов операций может оказаться небезынтересным.Заметим попутно, что среди сортировок с квадратичной сложностью по числу сравнений чрезвычайно низкой сложностью по числуперемещений, а именно сложностью, равной n − 1, обладает сортировка выбором.В некоторых случаях к учитываемым операциям относят операциивесьма разнородные, и время выполнения каждой из них считаютравным 1 — пример ., как и некоторые другие, даст соответствующую иллюстрацию.

При нахождении каждой такой «смешанной»сложности затраты для каждого конкретного входа учитываются разом все вместе.Этот параграф завершим обсуждением тех предположений о выполнении рассматриваемых алгоритмов, которые неявно уже использовались нами. Мы исходили из того, что вычисления проводятсянекоторой машиной, память которой состоит из ячеек. При этом какобъем каждой ячейки, так и общее число ячеек считается бесконечным, что, разумеется, является чистой абстракцией. Поместив в ячейку результат каких-то вычислений или считав содержимое некоторойячейки, машина обращается еще к какой-то ячейке и т.

д. Относительно этого процесса предполагается, что сам переход от ячейки к ячейке не связан с какими-либо затратами. Этот принцип лежит в основемодели вычислений, называемой РАМ («равнодоступная адресная машина» — довольно неуклюжий, но принятый термин; имеется в видумашина с равнодоступными ячейками памяти)  . Модель РАМ существенно отличается в этом смысле от другой известной модели вычислений — машины Тьюринга (МТ), где время перехода от однойячейки ленты к другой зависит от расстояния между ячейками; приэтом одна ячейка ленты МТ содержит один символ фиксированногоконечного алфавита  .В литературе на английском языке — RAM (random-access machine).Раньше в литературе по вычислительной математике и программированию слово «машина» употреблялось как обозначение некоторого реального вычислительногоустройства; устойчивым словосочетанием было, например, «электронная вычислительная машина» (ЭВМ). Сейчас в этом значении в основном употребляется слово «компьютер», а слово «машина» часто используется при обсуждении абстрактных вычислительных устройств: машин Тьюринга, равнодоступных адресных машин и т.

д. Глава . Сложности алгоритмов как функции числовых аргументовУпотребление слова «модель» в этом контексте подчеркивает тообстоятельство, что реальные вычислительные устройства (компьютеры) работают на тех или иных специфических принципах, но приисследовании вычислительной сложности алгоритмов этой спецификой можно до известного предела пренебрегать и исходить из упрощающей системы допущений.Далее мы будем еще неоднократно обращаться к понятию моделивычислений; всюду до главы  без оговорок подразумевается модельРАМ.§ . Асимптотические оценки (формализм)Для характеристики роста сложности по числу сравнений сортировки простыми вставками первого и второго типа мы можем использовать известный из математического анализа символ O и написатьT(n) = O(n2 ) (здесь и далее n → ∞).

Мы можем также выделить главные по росту слагаемые в (.):TeI1 (n) = n2 + O(n),1TeI2 (n) = n2 + O(n),2(.)хотя в этом и нет ощутимого практического смысла в силу простотыфункций TeI1 (n), TeI2 (n). В то же время, как это хорошо известно, асимптотическая формула f (n) = O(g(n)) является удобным средством оценивания нетривиально устроенной функции f (n) с помощью болеепростой функции g(n); столь же полезными оказываются и оценкивида f (n) = o(g(n)). Но когда мы говорим, что сортировка выбором,пузырьковая сортировка и сортировка простыми вставками имеютквадратичные сложности, мы имеем в виду не только то, что соответствующие сложности допускают оценку O(n2 ), но что эти сложностиявляются величинами порядка n2 ; в математическом анализе это иногда записывается как T(n) ≍ n2 , где T(n) — рассматриваемая функция,в данном случае — сложность.

В последние годы в теории сложностиалгоритмов вместо f (n) ≍ g(n) стали писать f (n) = Θ(g(n)).Определение .. Функции f (n) и g(n) имеют одинаковый порядок(пишут f (n) = Θ(g(n))) тогда и только тогда, когда найдутся положительные c1 , c2 , N такие, что неравенстваc1 | g(n) | ¶ | f (n) | ¶ c2 | g(n) |(.)выполнены для всех n > N.Без труда проверяется, что отношение «иметь одинаковый порядок» является отношением эквивалентности на множестве функций,§ . Асимптотические оценки (формализм)определенных для всех достаточно больших значений n (в нашем случае эти значения целые). Несимметричность записи f (n) = Θ(g(n))в сравнении с записью f (n) ≍ g(n) ( f (n) и g(n) как бы не равноправны в первой записи, хотя имеем дело с отношением эквивалентности) объясняется тем, что обычно эту запись используют, когда g(n)проще, чем f (n).Итак, для сложности T(n) по числу сравнений для любого из упомянутых алгоритмов сортировки мы имеем T(n) = Θ(n2 ).

Это болеесильное утверждение, чем T(n) = O(n2 ), так как T (n) = O(n2 ) являетсялишь асимптотической верхней оценкой: в соответствии с известнымиз математического анализа определениемf (n) = O(g(n)) ⇐⇒ ∃c,N >0 ∀n>N | f (n) | ¶ c| g(n) |,например, n = O(n2 ), но неверно, что n = Θ(n2 ). Здесь и далее, пользуясь кванторами ∃, ∀, мы записываем связываемые ими переменные,равно как и условия, определяющие множества значений этих переменных, в виде индексных выражений при кванторах. Это частопозволяет обходиться без дополнительных скобок и облегчает чтениеформул.Иногда бывают полезными нижние асимптотические оценки.Определение ..

Соотношение f (n) = Ω(g(n)) имеет место тогдаи только тогда, когда найдутся положительные c, N такие, что длявсех n > N выполнено | f (n) | ¾ c| g(n) |.Следующее предложение выводится из определений символов O, Ωи Θ.Предложение .. Соотношение f (n) = Θ(g(n)) имеет место тогдаи только тогда, когда одновременно f (n) = O(g(n)) и f (n) = Ω(g(n));помимо этого, f (n) = Ω(g(n)) тогда и только тогда, когда g(n) == O( f (n)).Если размер входа является целым положительным числом, то возникающие функции являются последовательностями. Для единообразия мы, как правило, будем говорить о функциях, подразумевая, ноне упоминая специально, что каждая такая функция определена лишьдля целых положительных значений аргумента (возможно даже, только для достаточно больших целых положительных значений аргумента).

Итак, при n → ∞ оценки вида f (n) = Λ(g(n)), где Λ — один изсимволов Ω, O, Θ, предполагают, что функции f (n), g(n) определены для всех достаточно больших n. Соответствующее неравенство из Глава . Сложности алгоритмов как функции числовых аргументовчисла| f (n) | ¾ c1 | g(n) |,| f (n) | ¶ c2 | g(n) |,c1 | g(n) | ¶ | f (n) | ¶ c2 | g(n) |(.)тоже, в соответствии с определением, должно выполняться лишьдля n, больших некоторого N. Заметим, однако, что если f (n) и g(n)определены для всех n ∈ N+ и принимают при 1 ¶ n ¶ N ненулевыезначения, то можно считать, что соответствующее неравенство из перечисленных в (.) выполняется для всех n, так как, положивm = min1¶n¶ N| f (n) |,| g(n) |M = max1¶n¶ N| f (n) |,| g(n) |мы можем заменить c1 , c2 в (.) на c′1 = min{c1 , m}, c′2 = min{c2 , M}.Это замечание в некоторых случаях будет для нас полезным.Вернемся к примеру ..

Характеристики

Тип файла
PDF-файл
Размер
1,58 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее