Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2)

Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2) (1119371), страница 76

Файл №1119371 Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2) (Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2)) 76 страницаД. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2) (1119371) страница 762019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

5.3.3-24. ЗЗ. Действуйте, как на первой итерации поразрядной обменной сортировки, ко вместо первого разряда числа используйте знаковый разряд. 34. В каждой итерации после обнаружения, по крайней мере, одного разркда, имеющего значение О, и одного разряда„имеющего значение 1, т. е. после первого же обмена, можно не проверять условие» < /. Таким образом можно уменьшить время выполнения программы Н примерно на 2С машинных циклов. 33. А = !»! — 1, В = (пап О, ате -'!»! !3 !»1, шах -'!7 !3 !7), С = г! !3 Н, С = 1Н, К = б = Н = О, Я = -'!!à — 1, Х = (ппп О, ате -'(!7 — 1), шах !7 — 1), В общем случае параметры А, С, С, К, Ь, Н и Я зависят от значений ключей в последовательности, но не от нх начального расположения; начальное расположение ключей влияет только на параметры В н Х.

36. (а) 2, (~)(~)(-1)~~!໠— — ~ (.)(»»)(-1)»"уаэ — — ~;(")фпа~ = а,. (Ь) (Ь„а); ( — бы); ((-1)™э ~); ((1-а)"); ((")(-о) (1-а)" ~). (с) Запишем соотношение, которое требуется доказать, в виде х = р„= а„+ з . Тогда из п. (а) получим 9» =- а + = . Также 2' "2.,»йз(„")р» = х„„следовательно, у„удовлетворяет тому же рекуррентному соотношению, что и х„. [Некоторое обобщение этого результата приводится в упр, ЬЗ и 6,3-17. Оказывается, непосредственно доказать, что х = а„2" '/(2" ' — 1), отнюдь непросто!! 37.

(2 „„с ( " )2 ") при произвольной последовательности констант се, см с», .... [Из этопз ответа, хотя он и верен, не сразу видно, что (1/(и 4 1)) и (и — бы) принадлежат к числу таких последовательностей! Последовательности вида (а„+ а„) всегда являются двойственными по отношению к самим себе, Заметны, что в терминах производящих функций А(х) = 2 а„з"/и! имеем А(з) = с*А(-з); следовательно, равенство А = А эквивалентно утверждению о том, что А(х)е-*~з — четная функция,) ЗВ.

Итерация разделения, порождающая левый подмассив длиной э и правый подмассив длиной г! — э, дает следующие вклады в суммарное время выполнения; В=г, С=!»г, К=бы В=бе, Н=б~л, Х=Ь; где ! — число таких ключей среди К»,..., К„разряд Ь которых равен 1, а Ь вЂ” это разряд Ь ключа К,+»; если» = !7, то Ь = О (см. (17)). Это приводит к таким рекуррентным уравнениям, как Вь. =2 ~ (~) ~ )(!+В,+В,,) е«»«»«л =-(!7 — 1)+2 ~ !1 ~В„, где!7>2; Во=В» — -О 1 »-л где~ «3» (см, упр, 23). Применив для решения этих уравнений метод, описанный в упр.

36, получим формулы Ан = !'"л — Ул + 1, Вл = 1(Пл + Ф вЂ” 1), Сл = 1л + »7., Кн = !!г/2 7 л = Нл = 3(1л — !~я — !Ь) +Л, Лл = з(Ал — Вл). Ясно, что Сл = О, 39. После каждой итерации быстрой сортировки, по крайней мере, один элемент попадает в свою окончательную позицию, но этого не происходит прн обменной поразрядной сортировке (см. табл. 3). 40. Если переключаться на метод простых вставок всякнй раз, как только на шаге Н2 будет г — ! < М, то проблема разрешится, если только ие встретится более М равных элементов. Если последнее весьма вероятно, то всегда, когда на шаге Н3 будет у < ! или / ы г, можно проверить условна К~ = = К .

41. В работе 1,псз М, »Уейпет, 1ЕЕЕ Тгапэ. С-34 (1935), 362-367, проанализировано несколько подходов, из которых описанный ниже нам представляется наиболее подходящим для использования на практике, Он несколько упрощен в работе Веп»!еу, Мс1!гоу, Яойнаге !згасг!се уг Ехр. 23 (1993), 1236-12Ж Основная идея состоит в том, чтобы работать с массивом, разделенным на пять частей <К 7 >К =К до тех пор, пока средняя часть не станет пустой. Затем нужно перебросить две крайние части в середину, Р1.

»Начальная установка.» Установить а е- Ь ь- 1, с ь- с( ь- г. Р2. »Увеличивать Ь до тех пор, пока не станет Кь > К.» Если Ь < с и Кь < К, увеличить Ь на 1 и повторить этот шаг. Если Ь < с и Кь = К, выполнить обмен Не ьь Йь, увеличить а и Ь на 1 и повторить этот шаг. РЗ. [Уменьшатьсдотех пор, цоканестанетК, < К.» Юли Ь < си К, > К, уменьшить с нв 1 и повторить этот шаг. Если Ь < с и К, = К, выполнить обмен Л, +ь )7а, уменьшить с и ь1 на 1 и повторить этот шаг. Р4. »Замена.» Если Ь < с, выполнить обмен Нь ее В„увеличить Ь на 1, уменыпить с на 1 н вернуться к шагу Р2.

Р5. »Очистка,» Выполнить обмен Всеь ьь 77 ь при 0 < Ь < пцп(а — (,Ь вЂ” а): также выполнить обмен 7(ьеь ьь й, ь при 0 < Ь < ш!п(4 — с,г — 4). Окончательно установить ! ь- 1+ Ь вЂ” а, / ь- т — 4+ с. $ Совершенно очевидная модификация иа шаго Р1 должна обеспечить эффективную обработку выршкденных случаев н обеспечить а < Ь н с < 4 до перехода к Р2. Тогда исчезнет необходимость в проверках "Ь < с" на шагах В2 и ВЗ (см.

упр. 24). Более того, подобная замена позволит избежать обмена записи с самой собой. Одно из приложений сортировки — сбор записей с равными ключами вместе. Таким образом, разделение на три части зачастую более предпочтительно, чем разделение на две части, предуслгатриэаемое алгоритмом (). Операнди обмена на шаге РЬ выполняются эффективно, поскольку все записи с ключами, равными К, к этому времени уже заняли свок окончательные позиции. Это упражнение придумано В, Г.

И. Фейеном (И'. Н. Я. Ре!)еп), который назвал его "проблемой голландского флага'*: "Задано множество объектов красного, белого и синего цветов, случайным образом разбросанных мемеду тремя колонками. Нужно придумать способ взаимного обмена пар объектов таким образом, чтобы красные собрались в верхней части колонки, а синие — внизу, причем каждый объект должен просмагриваться только один раз и разрешается испольэовать минимальное число дополнительных переменных для управления процессом", »См.

Е. %'. Р!)Ьлсга, А Вмс(р!!ле оГ Ргойгашш!вй (Ргеайсе-На!1, 1976), СЬаргег 11".» 42. Это особый случай теоремы Карпа (см. В,. Ы. Катр, ЗАСМ 41 (1994)., 1136-1150, 52.8). Существенно более строгая аснмптогическая граница для хвоста распределения при быстрой сортировке была получена в работе С. Я, Н. МсР1агш!6, Н. В. Наукап(, Х лП8опгйшн 21 (1996), 476-507. 43. При а ь О+, как следует из упр.

1.2.7-24, имеем ' г Гее у' '(е "— Ц49+/ р 'е "49= Г(а) — 1/а = (Г(а+Ц вЂ” Г(Ц)/а-+ Г'(Ц = — у. о 3 44. При Ь > О имеем гь(т) )(2т)!" ~ Г((Ь+Ц/2) — Ььо — Ег>е( — Ц~Вь ьзгьь/ ((5+22 Ь Ц/! (2т)"). При Ь = -1 вклады от ф ~(гп) в (36) взаимно уничтожаются с подобными членами в разложении Н -м и имеем г з(т) = Нм — ь+(1/ь/йтт) ~,>о/-ь(Г) ф(!п(2пь)+ 7) — ~ 1~,(-Ц~ВП/(22)/! (2гп)'. Поэтому вклад в рг' ~ члена Х/С (33) получается из суммы т ~,>, Г ' ехр(-1~/2т)(1 — го/Зтп ч- г~/18т~)(1 — 1~/4т~)(1 — 1/2т — С /Зтз) + 0(т-лт) = гт!пт + -'(!и 2+ 2)т —,ь >/2нт+ 1„+ 0(т-ьуз), Член --'йГ' ' дает вклад * Имеетсн русский перевал; Дейкстра еь В. Днспнлянна лрогрэммнроэання. — М.: Мир, 1976.

— Прим. верее. — а Яа>а ехр(-Ф~/2ап)(1 — а~/Зла~)(1 — а/2па)(1 + а/ап) + 0(па а~~) = -1ъ/2лап + 1 Член йбаа дает вклад -, И наконец член -(а — ЦВа!а! дает вклад -упа 2 Фехр( — ! /2ап)+ 0(па-а~а) = —,'а + 0(ап-ма). 45, Рассуждение, использованное прн выводе тождества (42), справедливо и для тождества (43), нужно только отбросить вычеты в точках е = -1 и з = О.

46. Действуя тал же, как при вычислении интеграла (4$), получаем (е — Ц!/(л 2+ бе(п), где б,(п) = — ~ бс(Г(е — 2ла/а/)и 2) ехр(2лааа !8 и)). 2 !п2 [Обратите внимание на то, что )Г(в+ ай)!~ = (П ас,((аз+ !а))л/(аэ!а!алФ), где в > О— целое, так что можно найти верхнюю границу для функции б„(п).) 47. СУмма ~1>а е "аа (и/2а)а на самом деле Равна ивтегРалУ из УпР. 46 пРи всех е > О. 48. Воспользовавшись промеж у гочным тождеством г-ааа+ааа *= —,/ Г( ) 'бе, 2ла' а,а а,, действуем так же, как описано в тексте, ио теперь 1 — е * выполняет роль е — 1+ х; е' еаЯп+ Ц = ( — 1/2ла)/ 'Д~~~~ Г(л)п 'а(л/(2 * — Ц+ 0(п '), а интеграл равен !8п+ 7/!и 2 — 1 — бе(п) в обозначениях упр. 46.

(Таким образом, величина 4я из упр. 38 равна !а(1/!и 2 — бе(аа' — Ц вЂ” б-а (аа')) + 0(Ц.) 49. Правуаочастьравеиства(40) можноулучпппь, заменив ееиае "(и/х+бя+хаО(п ')). Результат выразится в том, что будет вычтена сумма из упр. 47 с коэффициентом — и 0(Ц в (47) заменится выражением 2 — а(1/(и 2+ ба(п)) + О(п а). (Двойка появилась из "2/и" в (4$).) 50. Уев = и 1ой и+ п((7- Ц/(и па — а + б а (и)) + па/(па - Ц - 1/(2 (и па) — Зб (и) + О(и '), где ба(п) определяется в упр.

46 но !и 2 н !8 заменяются на (пап и !об . (Замечание. При ап = 2, 3, 4, $, 10, 100, 1000 и 10е имеем б а(ц) < .0000001725, .00041227, .000296, .0008$, .00627, .068, .153, .341 соответственно.] 51. Пусть !а/ = 2ап. Можно распространить суммирование в (3$) на все значении 1 > 1, Тогда сумма будет равна ге+а — / Г(х)(а /!аа) 'аа бз = —, / Г(з)!аа" б(2е — /а) бл а>а а -аее а-аач при условии, что а > (й+ Ц/2, Итак, необходимо знать свойства дзега-функции. Если бс(ю) > -4, то ь(па) = 0()ва)а+а) прн )аи) -а со; следовательно, контур интегрирования можно как угодно далеко смещать влево, если только учесть вычеты.

Сомножнтель Г(е) имеет полюсы в точках О, — 1, -2,..., а а,(2е — аа) имеет полюс лишь в точке л = (й+ Ц/2. Вычет в точке л = -/ равен Ж 1(-Цаб(-2а — /а)//!, а б(-и) = ( — Ц" В„+а/(и+ Ц. Вычет в точке е = (к + Ц/2 Ранен аГ((/а + Ц/2)ааааа+а!а ~. Но если й = — 1, то в точке е = 0 имеетсЯ ашойной полюс, а б(е) = 1/(е — Ц + 7+ 0()л — Ц), так что вычет в 0 в этом случае равен 7+ -' (и !а! — 1ау. "Гаким образом получаем аснмптотический ряд, упомянутый в ответе к упр.

44. 52, Положим, что х = а/и; тогда ( )/( ) =ехр( — 2п(л'/1.2+х/3 4+ ° )+(я'/2+л/4+" ) (1/бп)(яа-яа+".)+" ). „,г,„ Искомую сумму теперь можно представить в виде ряда 2,>, ! «!(!)е ' ~" при различных Ь. Поскольку Дх)" = ) ',>, 4(Ф)! *, то, действуя так же, как и в упр, 51„можно вычислить вычеты функции Г(х) и'Д2х — Ь)~ при Ь > О.

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

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

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