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

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

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

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

Другой способ распределения для многофезной схемы с обратным чтением был предложен в статье В. Т. ОоосЬ ш, Л. Е. депп, САСМ г (1964), 315. Можно распределять серии, почти как в алгоритме 5.4.2В, начиная с В-серии на каждой ленте. Когда ввод исчерпан, мы представляем себе фиктивную А-серию расположенной в начале единственной "нечетной" ленты, если только не достигнуто распределение со всеми нечетными числами. Остальные фиктивные серии мы представляем себе расположенными в конце лент или сгруппированными в пары в середине.

Вопрос об оптимальном размещении фиктивных серий анализируется ниже, в упр. 5. Оптимальные схемы слияния. До сих пор мы обсуждали различные схемы слияния с лентами, не пытаясь найти метод, "наилучший иэ возможных". Определение оптимальной схемы кажется особенно сложным в случае прямого чтения, при котором влияние времени перемотки и времени слияния с трудом поддается анализу. С другой стороны, если слияние осуществляется посредством обратного чтения и прямой записи, то, по существу, все перемотки устраняются и появляется возможность довольно хорошо формализовать оптимизацию способов слияния. Ричард М.

Карп (В1спагд М. Катр) предложил несколько интересных подходов к решению этой задачи, и мы завершаем настоящий раздел обсуждением развитой им теории. Для начала необходим более удобный способ описания схем слияния вместо довольно таинственных таблиц "содержимого лент", которые использовались выше. Карп предложил два таких способа — векпюриое предстпаелеиие схемы слияния и предсшаелеиие в виде дерева. Оба представления можно с успехом использовать, и мы опишем их по очереди. Векторное представление схемы слияния состоит из последовательности "векторов слияния" у~ ~... у(Ц у~о~, каждый из которых имеет Т компонент; у('> изображает 1-й с конца шаг слияния следующим образом: б +1, если лента с номером у' является вводной для данного слияния; О, если лента с номером у' не используется в данном слиянии; (2) -1, ° если на ленту с номером у' выводится результат данного слияния.

Таким образом, ровно одна компонента у~о равна -1, остальные компоненты равны 0 и 1. Итоговый вектор уйб — особый: зто единичный вектор, имеющий 1 в позиции 1 (если окончательный рассортированный результат оказывается иа устройстве у) и О в остальных позициях. Из данного определения следует, что векторная сумма „Ю у1о + уп-11+ + у<о! (3) представляет собой распределение серий на лентах непосредственно перед 1-и с конца шагом слияния; причем на ленте у находится ~Об серий.

В частности, по п~'"~ можно судить, сколько серий помещается на каждую ленту на начальном проходе распределения. Три схемы слияния, описанные ранее в этом разделе в табличной форме, имеют следующие векторные представления. Каскадная (Т=4, 3=14) е~>л> = ( 6, 5, 3, О) „по> (+1 +1 +1 у>"> =(+1,+1,+1,-Ц ум> =(+1',+1,'+1',-Ц ОЗ =(+1+1 -1 уы> =(+1,+1,-1, О) у"> =(+1,-1, О, О) уии ( 1+1+1+ц усн =( О -1+1+ц 12> ( О О 1 ЬЦ уси =(+1,+1,+1,-ц уш> =( О, О, О, Ц Сбалансированная (Т=4, 5=8) ец>=( 4, 4, О, О) у~~>> =(+1,+1,-1, О) унп=(+1,+1, О,-ц усп =(+1,+1,-1, О) у<'>-(+1,+1, О,-Ц у<'>=(-1, О,+1,+Ц упв=( О,-1,+1,+Ц у~'>=(+1,+1,-1, О) у~">=( О, О, 1, О) Многофазная (Т=3, 8=13) е>м> =( 5, 8, О) уп > = (+1, +1,-ц у>"> =(+1,+1,-ц у< "> = (+1,+1,-Ц у>в> =(+1,+1,-Ц у~'> =(+1,+1,-Ц у"> =(-1,+1,+Ц ум> =(-1,+1,+Ц у"> =(-1,+1,+Ц уы> (+1 1'+Ц = (+1, — 1,+Ц у(2> = (+1,+1,-Ц уп> = (-1,+1,+Ц ~ ( 1, О, О) Может показаться неудобным нумеровать данные векторы с конца так, чтобы у('"> появлялся первым, а уйй — последним, но этот нестандартный способ нумерации более удобен при разработке теории.

Для поиска оптимального метода неплохо сначала вывести рассортированный результат и представить себе, клк его можно распределить на раз.личные ленты (т. е. выполнить операцию, обратную слиянию). Затем следует распределить то, что получилось, и т.

д., рассматривая последовательные распределения в( >, в(~>, о>~>,... в порядке, обратном тому, в котором онн в действительности появляются в результате слияний в ходе сортировки. Фактически именно этот подход использовался нами при анализе многофазного и каскадного слияний. Каждая схема слияния, очевидно, имеет векторное представление. И обратно, как легко видеть, последовательность векторов у~"'>... уц > у(е> соответствует реальной схеме слияния тогда и только тогда, когда выполняются следующие три условия: 1) вектор у>е> является единичным; й) ровно одна компонента вектора уй> равна -1; все остальные компоненты равны О или +1, и» 1 > 1; Й) все компоненты вектора уп> + -+ уЦ> + убб неотрицательны, ш > 1 > 1. Информацию о схеме слияния можно представить в виде дерева.

Мы строим дерево с одним внешним "листовым" узлом для каждой начальной серии и с одним внутренним узлом для каждой серии, полученной в результате слияния. Потомками любого внутреннего узла являются образующие его серии. Каждый внутренний узел помечается номером шага, иа котором была образована соответствующая серия, при этом шаги нумеруются в обратном порядке, как в векторном представлении. Кроме того, ребра непосредственно иад каждым узлом помечаются именем ленты, на которой находится данная серия. Например, три приведенные вылив схемы имеют представления в виде дерева, изображенные на рис. 76, если мы назовем ленты А, В, С, П, а не Т1, Т2, ТЗ, Т4.

Это удобное и наглядное представление многих существенных свойств схемы слияния. Например, если серия на уровне О дерева (корень) должна быть восходящей, то серик на уровне 1 должны быть нисходящими, серии на уровне 2— восходящими и т. д. Некоторая начальная серия является восходящей тогда и тсаько Сбвлаиехраваяивя (т=е, я=в) Кьсяалиэ41 <т=4, я=ы) Миогофазная (т=з, Багз) Рис.

76, Представления трех схем слияния в виде деревьев. тогда, когда соотвегствуюпгий внешний узел находится на уровне с четным номером. Далее, суммарное количество начальных серий, обрабатьгваемых при слиянии (не включая начальное распределение), в точности равно длине еиеюиего пугни дерева, поскольку каждая начальная серия на уровне Й обрабатывается ровно й раз. Любая схема слияния имеет представление в виде дерева, но ие каждое дерево определяет схему слияния.

Дерево, внутренние узлы которого помечены числами от! до гп и ребра которого помечены именами лент, изображжт правильную схему слияния с обратным чтением тогда и только ~о~да, ко~да а) никакие два ребра, смежные с одним внутренним узлом, не имеют одного н того же имени ленты; Ъ) если г > у и если А есть имя ленты, то дерево не содержит конфигурации с) если 4 < у < й < ( и если А — имя ленты, то дерево не содержит таких пар (4) А и А Ихн А И А Условие (а) очевидно, так как вводные и выводные ленты слияния должны быть различны, "условие (Ь) также очевидно. Условие "непересечения" (с) отражает характерное для операций обратного чтения ленты ограничение "последним включается -- первым исключается'! Серия, образованная на шаге )г, должна быть удалена прежде серии, сформированной ранее на той же ленте; следовательно, конфигурации (4) невозможны. Нетрудно проверить, что любое помеченное дерево, удовлетворяющее условиям (а), (Ь) и (с), действительно соответствует некоторой схеме слияния с обратным чтением, Если имеется Т накопителей на магнитной ленте„то из условия (а) следует, что степень каждого внутреннего узла равна Т вЂ” 1 или меньше.

Присвоить подходящие метки всем таким деревьям не всегда возможно; нвприл1ер, если Т = 3, то не существует схемы слияния с деревом вида Такая форма дерева позволила бы найти оптимальную схему слияния, если бы можно было соответствующим образом присвоить номера шагов и номера лент, поскольку зто единственное дерево с минимальной длиной внешнего пути среди деревьев, имеющих четыре внешних узла. Но в силу симметрии структуры етого дерева имеется, по существу, только один способ пометить его, соблюдая условия (а) и (Ь): Однако при зтом нарушается условие (с). Дерево, которое можегл быть помечено в соответствии с упомянутыми условиями с использованием Т или меньше имен лент, называется Т-Цо-деревом. Другой способ охарактеризовать все помеченные деревья, которые могут возникнуть из схемы слияния, состоит в рассмотрении метода "выращивания" всех подобных деревьев.

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

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

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