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

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

PDF-файл Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 1), страница 6 Практикум (Прикладное программное обеспечение и системы программирования) (37177): Книга - 4 семестрД. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 1): Практикум (Прикладное программное обеспечение и системы программирования) 2019-05-09СтудИзба

Описание файла

PDF-файл из архива "Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 1)", который расположен в категории "". Всё это находится в предмете "практикум (прикладное программное обеспечение и системы программирования)" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 6 страницы из PDF

[М85] (Э. Т. Паркер (Е, Т. Рагйег).) Леонард Эйлер высказал предположение [р?оза Асса Асяс(. Яс! Реггоройгалш 13 (1795), 45-63, $3; написана в 1778], что уравнение ие + с'+ ш~ + хе+ у не имеет нетривиальных решений среди целых неотрицательных чисел и, е, иь х, у, ю Одновременно он предположил, что уравнение х[+. +х,", г=я„ и АРЕВЗ, АЗРЕВ, РАВЕЗ, РАМЕ, РЕАВЗ,. РВАЗЕ, РВЕЗА, ЗАРЕЗ, ВЕАРЗ, ЗРАЕВ, ЗРАВЕ, ЗРЕАВ, к которой можно еще добавить французское слово АРВЙЗ.] не имеет решения в положительных целых числах при и > 3, ио зто предположение было опровергнуто уже в наше время, когда с помощью компьютера было найдено тождество 2?з+84з+11Оз+133з = 144 [см. Ь.

1, Ьапбег, Т. Е. РагЬ!и, агк1 3. Ь. Яе!?г!г!Ее, МагЬ. СошР. 21 (1967), 446-459]. Множество аналогичных примеров было обнаружено и при и = 4 Н. Д. Элкисом (ЬЬ П. Е!Ыее) [ЛХахЬ. Сошр. 51 (1988), 825-835], Подумайте, как можно было бы использовать сортировку для поиска примеров, опровергающих предположение Эйлера при и = 6. ь 19. [24] Файл содержат болыпое количество 30-разрядных двоичных слов: хц...,хю Придумайте хороший способ нахождения в нем всех иар с азаимие дополняющими злемеишами [х„ху). (Два слова называются взаимно дополняющими, если второе содержит нули во всех разрядах, в которых были единицы в первом слове, и наоборот; таким образом, они взаимно дополняющие тогда и только тогда, когда их суагма равна (11... 1) ы если они рассматриваются как двоичные числа.) ь 20.

[Еб] Имеется файл, содержащий тысячу 30-разрядных двоичных слов хм.,., х,еее. Как бы вы стали сосшвяять список всех пар (х„х!), таких, что хс отличается ог хг не более чем в двух разрядах? 21. [ЗЗ] Как бы вы поступили, если бы вам нужно было найти все пятибуквенные анаграммы, такие как САВЕТ, САВТЕ, САТЕВ„СВАТЕ, ВЕАСТ, ВЕСТА, ?ВАСЕ; СВОЕЬ, ЬОСВЕ, ОЬСЕВ; ООЗВТ, ВОЮТ, БОВОТ? [Или если бы вы, допустим, захотели узнать, существуют ли в английском языке наборы из десяти или более анаграмм, кроме замечательной серии 22. [Мв8) Пусть даны описания весьма болыпого числа ориентированных грж)юв. Как можно сгруппировать изомерфмме графы'> (Два ориентированных графа называются изоморфными, если существует взаимно однозначное соответствие между нх вершинами и взаимно однозначное соответствие между их дугами, причем зти соответствия сохраняют инцнлентность вершин и дуг.) 23. [Щ В некоторой группе нз 4 090 человек каждый имеет оксио 100 знакомых.

Был составлен список всех пар людей, знакомых друг с другом. (Это отношение симметрично, т. е, если х знаком с р, то и 9 знаком с т. Поэтому в списке содержится примерно 200 ООО пар.) Прилумайте алгоритм, который по заданному Ь выдавал бы все клаки из й человек. (Клико — это группа людей, в которой все знают друг друга.) Предполагается, что не бывает слишком больших клик (размером более 25).

ь 24. [30) Три миллиона человек с различными именами были уоюжены рядом непрерывной цепочкой от Нью-1'1орка до Калифорнии. Каждому из них дали листок бумаги, на котором он написал свое имя н имя своего ближайшего западного соседа. Человек, находнвгпийся в крайней западной точке цепи, не понял, что ему делать, и выбросил свой листок. Остада 2 999 999 листков собрали в большую корзину и отправили в Национальный архив, в Вашингтон, округ Колумбия. Там содержимое корзины тщательно перетасовалн и записали на магнитиме ленты. Специалист по теории информации определил, что имеется достаточно сведений для восстановления списка людей в исходном порядке.

Программист нашел способ сделать это менее чем за 1 000 просмотров лент с данными, используя лишь последовательный доступ к файлам на лентах и небольшой объем оперативной памяти. Как ему это удалось? [Пругими щювамн. как, имея расположенные произвоньным образом пары (хи хпы), 1 < 1 < Х. где все хч различны, получить последовательность х~хз... хь, применяя лишь методы послеловвзельной обработки данных, которые пригодны для работы с магнитными лентами? Это сортировка в случае, когда трудно определить, какой из двух ключей предшествует другому:, мы уже поднимали этот вопрос в упр. 2.2.3-25.) 20.

[МУ1] (Дискретные лоеара~фмм.) Пусть известись что р — - простое число (довольно болыное), а а — первообразный корень по модулю р. Следовательно. для любого Ь в диапазоне 1 < Ь < р существует единственное и, такое, что о" шог( р = 6, 1 < и < р. (Это и называется индексом 6 по модулю р по отношению к а,) Как по заданному Ь найти и менее чем за Яп) шагов.

[Указашш. Пусть гп = [т/р), Попытайтесь решить уравнение а "' ш Ьа ю (по модулю р) при О < им из < пь) «5.1. КОййБИНАТОРНЫЕ СВОЙСТВА ПЕРЕСТАНОВОК Пйгйстлиовкой конечного множества называется некоторое расположение его элементов в ряд. Перестановки особенно важны при изучении алгоритмов сортировки, так как они служат для представления неупорядоченных исходных данных.

Чтобы исследовать эффективность различных методов сортировки, нужно уметь подсчитывать количество перестановок, которые вынуждают повторять иокоторый шаг шпъритма определенное число раз, Мы уже не рвз встречались с перестановками в предыдущих главах. Например, в разделе 1.2.5 обсуждались два основных теоретических метода построения и! перестановок и объектов; в разделе 1.3.3 были проанализированы некоторые алгоритмы, связанные с циклической структурой и мультипликативными свойствами перестановок; в разделе 3.3.2 изучались их серии монотонности. Цель настоящего параграфа — описать другие свойства перестановок и рассмотреть общий случай.

когда допускается наличие одинаковых элементов. Попутна мьь многое узнаем о комбинаторной математике. Свойства перестановок настолько красивы, что представляют и самостоятельный интерес. Удобно будет дать их систематическое изложение в одном месте, а не разбрасывать материал по всей главе. Читателям, не имеющим склонности к математике, а также тем, кто жаждет поскорее добраться до самих методов сортировки, рекомендуетгя перейти сразу к разделу 5.2, потому что настоящий раздел неиосрвдсшввнного отношения к сортировке почти ие имеет, «5.1.1.

Инверсии Пусть аг ав...а„— перестановка множества (1,2,...,и). Если 1 с у и а, > а,, то пара (а,,а ) называется инверсией перестановки; например, перестановка 3142 имеет три инверсии: (3,1), (3,2) и (4,2). Каждая инверсия — это пара элементов, "нарушающих порядок"; следоватечьно, единственная перестановка, ие содержащая инверсий. — зто рассортированная перестановка 1 2...и. Такая связь с сортировкой и является главной причиной нашего интереса к инверсиям, хотя это цонятие уже использовалось, когда мы анализировали алгоритм динамического распределения памяти (см.

упр. 2.2.2-9). Понятие инверсии ввел Г. Крамер в 1750 году в связи со своим замечательным правилом решения линейных уравнений (Хпгг. а 1'Ала)уге дев 1лялев СоигЬев А1йеЬг)йцев (Оепеуа, 1750), 657-659; см. также ТЬошаз Мшг, ТЬ«огу оЕ Вегеглц'- лаигв 1 (1906), 11-14]. В сущности, он определил детерминант и х и-матрицы следующим образом: х!1 х12 " хг« бес; = ~~, ( — 1)ы~(ю«ь "«" ~х х ... х ми гаг .

- ««„р хш х«г ° - ° х«в где сумма берется по всем перестановкам аг аг...а„из (1, 2,..., и), а 1ну(аг ог... а„) — число инверсий в перестановке. Таблица инверсий Ь| Ьг... Ь„перестановки аг аг... а„образуется, если определить Ь как число элементов слева от у, которые больше, чем ~. Другими словами, ьг — число инверсий, второй элемент которых равен 1 Отсюда, например, следует, что таблицей инверсий перестановки 591826473 будет (2) 236402210, поскольку 5 и 9 расположены левее 1; 5, 9, 8 — левее 2 и т. д. Всего эта перестановка имеет 20 инверсий.

По определению числа Ь всегда удовлетворяют неравенствам 0<5| <и — 1, 0<Ь»<п — 2, ..., 0<Ь„~ <1, Ь„=О. (3) Пожялуй, наиболее важный факт, касающийся перестановок и установленный Маршаллом Холлом (Маг»Ьай Най), состоит в том, что таблица пиверслй елпстенным образом определяет соответствуюшую перестановку. [См. Ргос. Яу»пр. Аррйед Ма»Ь.

6 (Ашег!сап Ма»Ь. БосМу, 1956), 203.[ Нз любой таблицы инверсии Ь, Ьз... Ь„, удовлетворяющей условиям (3), можно однозначно восстановить перестановку, которая ее перелила, путем последовательного определения относительного расположения элементов и, п-1,..., 1 (в этом порядке). Например, перестановку, соответствующую (2), можно построить следующим образом: выпишем число 9, затем разместим 8 после 9, поскольку Ь» = 1. Аналогично установим 7 после и 8, и 9, поскольку Ьг = 2.

Так как Ь» = 2, то 6 должно следовать за двумя уже выписанными нами числами; таким образом, имеем промежуточный результат Продолжим, приписав 5 левее, поскольку Ь» ж 0; поместим 4 вслед за четырьмя из уже записанных чисел, а 3 — после шести выписанных чисел (т. е. в правый конец) и получим 5986473. Вставив аналогичным образом 2 н 1, придем к (1). Такое соответствие важно, потому что часто можно заменить задачу, сформулированную в терминах перестаяовок, эквивалентной ей задачей, сформулированной в терминах таблиц инверсий, которая, возможно, решается проще.

Рассмотрим, например, самый простой вопрос сколько существует перестановок множества (1, 2,..., и)? Ответ должен быть равен числу всевозможных таблиц инверсий, а их легко пересчитать, так как Ь~ можно выбрать и способами, Ь» независимо от Ь» — и — 1 способами, ..., а ܄— единственным способом; итого получаем п(п-1)...1 = и! различных таблиц инверсий, Таблицы инверсий пересчитать легче, потому что значения Ьь полностью не зависят друг от друга, в то время как а» должны быть все различны.

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