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

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

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

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

В результате применения этого метода записи вспомогательной области обычно переставляются.) Тот же трюк применяется при слиянии сначала зон Я~ и 2в, затем — 2в и 2в, Я ~ и 2; для этого необходимо выполнить О(глп) = О(5() операций. Поскольку ни один элемент ие имел более и инверсий, часть массива 2~ ... Ям оказывается, таким образом, полностью рассортированной. Для окончательной "доводки" рассортируем записи ЕЕяэ~ в,... Е(и методом вставок за О(вв) = О(Ю) шагов. В результате в наибольших элементов окажутся в области А.

Затем применим все тот же трюк с областью А и сольем ЕЕ~... Йя-ы с ЕЕяэ~-в,. Ви(но поменяем везде ролями "левое" и "правое', а также отношения меньше" и "больше" ). В конце рассортируем записи ЕЕив.ь .. ЕЕя методом вставок. Последующее усовершенствование рассматривается в работе Ю. Каса)ыпеп, Т. Раээлел, 1. Тенко!а, №гг(1с Х Сотриг1л» 3 (1996), 27-40. Проблема успюячнеостлв слияикя на месте рассматривается в ответе к упр. 5,5-3. 19.

Вагоны можно перенумеровать таким образом, чтобы в конечной перестановке их номера были упорядочены: 1 2 ... 2"; так что это, по существу, задача сортировки. Прогоним сначала первые 2" ' вагонов через и — 1 тупиков, расположив нх в порядке убывания номеров и поместив их в и-й тупик тэк, чтобы наименьший элемент оказался на входе в тупик (на вершине стека). Затем прогоним остальные 2" ' вагонов через и — 1 тупиков, расположив их в порядке возрастания непосредственно перед и-м тупиком, И наконец, сольем эти две последовательности очевидным способом. 20. Дополнительную информацию можно найти в работе В.

Е. Таг1ап, ЕАС57 19 (1972), 341-346. 22. См. Елуоппайол Ргосеаяля Е егвегв 2 (1973), 127-128. 23. Слияние можно представить в виде бинарного дерева, все внешние узлы которого находятся на уровнях !16Ж) н !16л1~!. Таким образом, максимальное число сравнений равно длине минимального внешнего пути на бинарном дереве с 5Е внешними узлами (формула 5.3.1-(34)) минус Е!Š— 1, поскольку при Е(т, и) = гл + л — 1 получим максюгум и имеется Е!Š— 1 слияний (см, также соотношение 5.4.9-(1)). Обобщенная методика анализа асимптотических свойств тако~о рекуррентиого соотношения при помощи преобразования !неллина представлена в работе Р.

Г!а)о!ег, М. Со!ш, Асэа ЕпГогша41са 31 (1994), 673-696, В частности, в ней показано, что среднее количество сравнений равно Х!6гŠ— 65!+ 5(16)т")Еэ'+ О(1), а дисперсия .345М. Здесь б есть непрерывная функция с периодом 1 и средним значением О, а 1 1 1 ч 2 2т+ 1 б — — -+ — ~ 1а— 1и 2 2 1п 2 ~', (лг + 1)(пт + 2) 2т = 1.24815 20420 99653 84390 29565 64329 53240 16127+. Суммарное число сравнений при Х -э оо хорошо аппроксимируегся методом нормального распределения; дополнительный анализ выполнен в работе Н.-К.

Нкааб, М. Сгашег, йаЫош Ягысгвгаэ н А!3огййшз 8 (1996), 319-336; 11 (1997), 31-96- РАЗДЕЛ 5.2.5 1. Нет, потому что после первого просмотра поразрядная сортировка вообще не будет выполняться, если распределяющая сортировка неустойчива, (Но предложенный способ распределяющей сортировки вволсно было бм применить к поразрядной СЦ-сортировке, на что указано в последнем абзаце этого раздела.) 2. Это алгоритм "антиустойчивой" сортировки, прямо противоположной устойчивой.

Элементы с одинаковыми ключами располагаются в обратном порядке, поскольку при первом просмотре записи сканируются от Кл до Кь (Это действительно удобно, так как в строках 28 н 20 программы К Л приравнивается к О, но, разумеется, вовсе необкзательно выполнять первый просмотр в обратном направлении.) 3. Если стопка 0 не пуста, то ВОТИ(0) уже указывает на первую запись; если же она пуста, то мы устанавливаем Р ~- РОС(ВОТИ(0) ), а штоследствии устанавливаем в 11ИК(Р) указатель на первую непустую стопку.

4. Если осталось выполнить четное число просмотров, то поместить стопку 0 в начало стека (в очередности от первых элементов к последним), затем стопку 1, ., стопку (М вЂ” 1); в результате записи будут упорядочены относительно уже проанализированных разрядов ключей. Если осталось выполнить нечетное число просмотров, то поместите в начало стека стопку (М вЂ” 1), затем — стопку (М вЂ” 2), ..., стопку О, в результате записи расположатся в обратном порядке относительно уже рассмотренных разрядов ключей. (Это правило, по-видимому, впервые опубликовал Э.

Х. Франц (Е. Н. Гг(епй) (Х4СМ 3 (1956), 156, 165-166).) 5. Замените строку 04 строкой ЕИТЗ 7, а таблицы 8330 н 3580 следующими таблицалпа 338Ы 1.02 КЕТ, 1(1: 1) 502 КЕТ, 1(2: 2) ЬР2 КЕТ,1(3:3) 502 КЕТ.1И:4) 502 КЕТ, 1 (5: 5) 102 1ИРОТ, 1(1: 1) 102 ТИРОТ,1(2:2) 102 1ИР\ГГ, 1(3:3) Е58И Ы1 1ИРОТ,1(51ИК) (Повторить предыдущую строку еще шесть раз.) ПЕС1 1 1 Время выполнения новой программы вычисляется путем замены "3" на "8"; оно равняется (11р — 1) )т'+ 1брМ + 12р — 4Е + 2 прк р = 8.

6. (а). Проанализируйте размещение ()Т + 1)-го элемента. Рекуррентное соотношение 5+1 ЛТ вЂ” 5 рлциепл = — Рми<л+П+ — рмлл ЛТ ' М эквивалентно указанной в условии формуле. (Ь) и-я производная удовлетворяет соотношению дм< ., (х) = (1 — и/М)дмл(х)+ ((1 — х)/М)длгл (х), что доказывается индукцией по л.

Полагая, что х = 1, находим д~хглд(1) = (1 — п/ЛТ)~Ма, поскольку дмо(х) = х Следовательно, шеал(длгл) = (1 — 1/М) М, тат(длгл) = (1 — 2/М)яМ(М вЂ” 1) + (1— 1/М)н М вЂ” (1 — 1/М)э~ М~. (Обратите внимание на то, что производящая функция для Е в программе К есть дмл(х)г.) Т.

Пусть К вЂ” поразрядная сортировка, КХ вЂ” - обменная поразрядная сортировка. Укажем некоторые важные сходные черты и отличия. КХ продвигается от старших цифр к младшим, К вЂ” наоборот. В обоих методах просматриваются цифры ключей, а сами ключи не сравниваются. В КХ всегда М = 2 (см., однако, упр.

1). Время выполнения для К почти не меняется, а для КХ оно очень чувствительно к распределению цифр. В обоих случаях время выполнеяня пропорционально 0((т' 1о8 К), где К вЂ” диапазон измененик ключей, но константа пропорциональности для КХ больше. С другой стороны, если цифры старших разрядов ключей распределены равномерно., то среднее время выполнения для КХ будет равно 0(Х!об К) независимо от величины К.

Сортировка Н требует наличии полей связи, а НХ работает с "минимальной памятью". Внутренний цикл в Н больше подходит для компьютеров с конвейерной архитектурой. 8. При последнем просмотре стопки следует сцепить в другом порядке; например, если М = 255, то стопка (10000000)э должна быть первой, за ней — стопка (10000001)г, стопка (11111111)э, стопка (00000000)ы стопка (00000001)м ..., стопка (0111П11)2 Это изменение порядка сцепления легко осуществить путем модификации алгоритма Н или изменения стратегии распределения памяти при последнем просмотре (см. табл. 1). 9. Можно сначала отделить отрицательные ключи от положительных, как в упр. 5.2.2- 33, или же при первом просмотре преобразовать ключи и записать их в дополнительном коде.

Можно также после последнего просмотра отделить положительные ключи от отри- цательных, изменив порядок расположения последних, но метод из упр. 5,2.2 — ЗЗ для этого уже не ггщится. 11. Без первого просмотра ключи при помощи нашего метода все равно будут полностью рассортированы, потому что (па чистой случайности) ключ 503 уже предшествует ключу 509. Без первгкх двух просмотров было бы 1+ 1+ 0+ 0+ 0+ 1+ 1+ 1+ 0+ 0 = 5 инверсяй, 12. После обмена Н» с В(р) на шаге М4 (упр, 5,2-12) можно сравнить К» с К» ь Если К» меньше, то сравниваем его с К„м К» з, ..., пока не встретим К» > Лм Тогда устанавливаем Щ+и...,В» мВ»)»- (В»,Вг+и, В» ~)„не менял полей 1155, Удобно принудительно поместить с левого конца массива искусственный ключ Ко, который < всех других ключей, 14.

Если ясходная перестановка карт требует 5 чтений в смысее упр, 5,1.3 — 20 и если при каждом просмотре карты раскладываются в т стопок, то придется выполнить яе менее (!ойм Ц просмотров. (Рассмотриге обратный переход — от упорядоченной колоды к исходной; прн каждом просмотре число чтений увеличивается не более чем в и» раз.) Данная перестановка требует четырех чтений для возрастающего порядка и десяти чте- ний длв убывающего порядка. Поэтому сортировка в порядке убывания требует четырех просмотров при двух стопках и трех просмотров при трех стопках, И обратно, этого оптимального числа просмотров достаточно для сортировки.

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

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

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