Главная » Просмотр файлов » Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)

Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189), страница 52

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 52 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 522019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Поскольку нам уже известны Е значений, которые меньше Глава Я Медианы и норядковые статистики 247 1-го в порядке возрастания элемента массива А[р .. Г] (это элементы подмассива А[р.. 9]), искомый элемент является (г — к)-м в порядке возрастания элементом подмассива А[9 + 1 .. Г], который рекурсивно ищется в строке 9. Создается впечатление, что в представленном коде допускаются рекурсивные обращения к подмассивам, содержащим О элементов, но в упр. 9.2.1 предлагается показать, что это невозможно.

Время работы алгоритма КлмРом1ееР-Бееест в наихудшем случае равно 6(п~), причем даже для поиска минимума. Дело в том, что фортуна может от пас отвернуться, и разбиение всегда будет производиться относительно наибольшего из оставшихся элементов, а само разбиение выполняется за время 9(п).

Однако алгоритм имеет линейное ожидаемое время работы, а поскольку он рандомизированный, никакие специально выбранные входные данные не могут гарантированно привести к наихудшему поведению алгоритма. Чтобы проанализировать ожидаемое время работы алгоритма КлмпоьпгепБееест, будем рассматривать время работы над массивом А[р .. Г] из и элементов как случайную величину, которую обозначим как Т(п), так что мы можем получить верхнюю границу Е [Т(п)] следующим образом. Процедура Клмпом1ееРРлкт|тюм равновероятно возвращает любой элемент в качестве опорного.

Следовательно, для каждого к, такого, что 1 < (с < и, подмассив А[р .. д] содержит 7с элементов (все они не превышают опорный) с вероятностью 1/и. Определим для )с = 1, 2,..., п индикаторные случайные величины Хы где Хь = 1(подмассив А[р .. 9] содержит ровно к элементов) В предположении, что все элементы различны, имеем Е [Ха] = 1/п . (9.1) В момент вызова процедуры Клмпом1ееР-Вееест и выбора в качестве опорного элемента А[у] заранее неизвестно, будет ли получен правильный ответ, после чего работа алгоритма сразу же прекратится, или произойдет рекурсивное обращение к подмассиву А[р .. д — 1] либо подмассиву А[у + 1 ..

г]. Это будет зависеть от того, где будет расположен искомый элемент относительно элемента А[9]. В предположении монотонного неубывания функции Т(п) необходимое для рекурсивного вызова процедуры КАМРом!ееР-Бееест время можно ограничить сверху временем, необходимым для вызова этой процедуры с входным массивом максимально возможного размера. Другими словами, для получения верхней границы предполагается, что искомый элемент всегда попадает в ту часть разбиения, где больше элементов.

При конкретном вызове процедуры КлмРомыеР-Бееест индикаторная случайная величина Хь принимает значение 1 только для одного значения к, а при всех других 7с эта величина равна О. Если Хь = 1, то размеры двух подмассивов, к которым может произойти рекурсивное обращение, равны Части Рй Сортировка и порядковая статистика 24о )с — 1 и и — й.

Таким образом, получаем следующее рекуррентное соотношение: Т(п) < ~~с Хь . (Т(тах(й — 1, и — 1с)) + 0(п)) 1с= 1 Хь Т(тахЯ вЂ” 1,п — й))+0(п) . 1с=! Вычисляя математическое ожидание, получаем: Е [Т(и)] и < Е У Хь Т(тах(lс — 1, п — й)) + 0(п) а=1 и Е [Хь Т(тах()с — 1, п — lс))] + 0(п) 1с= 1 Е [Хь] Е [Т(тах(й — 1, и — к))] + 0(п) 1=1 1 — Е [Т(гпах(й — 1, п — lс))] + 0(п) а=1 (в силу линейности мате- матического ожидания) (согласно (В.24)) (согласно (9.1)) . Применяя уравнение (В.24), мы основывались на независимости случайных величин Хь и Т(тах(к — 1, п — к)). В упр.

9.2.2 предлагается доказать это предположение. Рассмотрим выражение тах(к — 1, п — х). Мы имеем й — 1, если к ) [п/2], тах(к — 1,п — lс) = п — Й, если lс < [и/2] . Если п четно, то каждое слагаемое ог Т( [п/2]) до Т(п — 1) появляется в сумме ровно дважды. Если же и нечетно, то дважды появляются все слагаемые, кроме Т( [п/2] ), которое добавляется лишь один раз.

Таким образом, имеем следующее соотношение: 2 сс-1 Е[Т(п)] < — ~ Е[Т(й)]+О(п) . Ь= (пссз) Методом подстановок покажем, что Е[Т(п)] = О(п). Предположим, что Е [Т(п)] < сп для некоторой константы с, удовлетворяющей начальным условиям рекуррентного соотношения. Кроме того, предположим, что для и, меньших какой-то константы, справедливо Т(п) = 0(1); эта константа будет найдена позже. Выберем также константу а, такую, чтобы функция, соответствующая слагаемому 0(п) (и описывающая нерекурсивную составляющую времени работы данного алгоритма), была ограничена сверху величиной ап для всех и ) О.

249 Глана 9. Медианы и нарядковые статистики С помощью этой гипотезы индукции получаем 2 а — 1 Е[Т(и)] < — ~ ~си+ ап п Ь= (и/2) (и/г) -1 2с — lс — 2 lс +оп 1=1 а=1 2с /(и — 1)п ([п/2] — 1) [п/2] '1 /1 +оп п 1 2 2 2с /(и — 1)п (п/2 — 2)(п/2 — 1) 2 2 2с /пг — п пг/4 — Зп/2+ 2н1 ) +оп п ~, 2 2 с /Зпг п — + — — 2 +ап и~,4 2 гЗп 1 21 = с ~ — + — — — ) + ап ~4 2 п2 Зсп с < + — +ап 4 2 гоп с = сп — 11 — — — — ап) . ~4 2 Чтобы завершить доказательство, нужно показать, что для достаточно больших п последнее выражение не превышает величину сп или (что равносильно) что выполняется неравенство сп/4 — с/2 — ап > О. Добавив к обеим частям этого неравенства с/2 и умножив их на и, получим неравенство п(с/4 — а) > с/2.

Если константа с выбрана таким образом, что с/4 — а > О, т.е. с > 4а, то обе части приведенного выше соотношения можно разделить на с/4 — а, что дает нам следующий результат: с/2 2с и> с/4 — а с — 4а Таким образом, если предположить, что для всех и < 2с/(с — 4а) справедливо Т(п) = 0(1), то Е [Т(п)] = 0(п). Итак, мы приходим к выводу, что для поиска любой порядковой статистики (в частности, медианы) в предположении, что все элементы различны по величине, требуется ожидаемое время, линейно зависящее ст количества входных элементов. упражнении 9.2.1 Покажите„что процедуре КА141эомипо-ЯЕ1.Ест никогда не передается в качестве параметра массив с нулевым количеством элементов. с50 Часть РЕ Сортировка и порядковая статистика 9.2.2 Докажите, что индикаторная случайная величина Хь и величина Т(шах()с — 1.

п — й) ) независимы. 9.2.З Напишите итеративную версию процедуры КА1ВРОМ1ЕЕР-Кееест. 9.2к4 Предположим, что для выбора минимального элемента массива А = (3, 2, 9, О, 7, 5, 4, 8, 6, 1) используется процедура КлыРОМ1геР-Яееест. Опишите последовательность разделений, соответствующих наихудшей производительности этой процедуры.

9.3. Алгоритм выбора с линейным временем работы в наихудшем случае Рассмотрим теперь алгоритм выбора, время работы которого в наихудшем случае равно 0(п). Подобно алгоритму Кл1ЧРОм!ееР-Бееест, алгоритм Кееест находит нужный элемент путем рекурсивного разбиения входного массива.

Однако в основе этого алгоритма заложена идея, которая заключается в том, чтобы гаррнльиповать хорошее разбиение массива. В алгоритме Кесест используется детерминистическая процедура Рлкт1т1О1ч, которая применяется при быстрой сортировке (см. раздел 7.1). Зта процедура модифицирована таким образом, чтобы одним из ее входных параметров был элемент, относительно которого производится разбиение. Для определения во входном массиве, содержащем и > 1 элементов,(-го в порядке возрастания элемента в алгоритме Яесест выполняются описанные далее шаги. Если и = 1, то процедура Кееест просто возвращает единственное входное значение, как 1-е в порядке возрастания. 1.

Все и элементов входного массива разбиваются на (п/5) групп по 5 элементов и одну группу, содержащую оставшиеся п шоь) 5 элементов (впрочем, эта группа может оказаться пустой). 2. Сначала методом сортировки вставкой сортируется каждая из (и/51 групп (содержащих не более 5 элементов), а затем в каждом отсортированном списке, состоящем из элементов групп, выбирается медиана. 3. Путем рекурсивного использования процедуры Бееест определяется медиана х множества из ~п/51 медиан, найденных на шаге 2. (Если этих медиан окажется четное количество, то, согласно принятому соглашению, переменной г будет присвоено значение нижней медианы.) 4.

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

Список файлов книги

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