AOP_Tom3 (1021738), страница 87

Файл №1021738 AOP_Tom3 (Полезная книжка в трёх томах) 87 страницаAOP_Tom3 (1021738) страница 872017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Возвращаясь к диаграмме А., попытаемся вывести формулы, аппроксимирующие время работы для каждого из десяти методов. В большинстве случаен основная формула (9) ЖСьгт+ (я + рх)гхСыт+ (1+ р) л1Сга,т будет достаточно хорошим приближением к суммарному времени сортировки, если мы определим число промежуточных проходов слияния к = и !пб + // и число промежуточных проходов перемотки я' = и'1п 5 + р'. Иногда необходимо внести в (9) некоторую поправку-, специфика каждого метода учитывается следующим образом. Пример 1, Сбалансированное слияние с прямым чтением. Формулы х = (!пб/!ггР) — 1, ~~ = (1пЯ/1пР)/Р могут использоваться для Р-путевого слияния с 2Р лентами. Пример 2.

Многофазное слияние с прямым чтением. Можно положить я' - х, так как за каждой фазой обычно следует перемотка приблизительно такой же длины, как предшествующее слияние. Из табл. 5.4.2" 1 получаем в случае шести лент значения о 0.795, р" — 0.864 — '2. (Значение 2 вычитается из-за того, что элементы таблицы включагот наряду с промежуточными проходами также начальный и конечный.) К значению, полученному по формуле (9), нужно добавить время перемотки вводной ленты после начального распределения, а именно — рХСьлт+д. Пример 3. Каскадное слияние с прямым чтением.

Из табл. 5.4.3 — 1 следуют значения о - 0.773, р 0.808 — 2. Время перемотки сравнительно трудно оценить; возможно, предположение х' гм х достаточно точно отражает суть дела. Как и в примере 2, нужно добавить к (9) время начальной перемотки. Пример 4. Многофазное слияние с расщеплением лент. Из табл. 5.4.2 — 6 получаем о - 0,752, Д = 1.024 — 2. Происходит совмещение почти всех операций перемотки, за исключением перемотки после начальной установки (рМСьг,т + о) и двух фаз вблизи конца (36% от 2рЖСц г). Мы можем также вычесть 0.18 из р', так как первая половина фазы совмещается с начальной перемоткой. Пример 5. Каскадное слияние с совмещением перемоток. Здесь, используя табл.

5.4.3 — 1 для Т = 5, получаем о - 0.897, р - 0.800 — 2. Почти все несовмещенные операции перемотки встречаются непосредственно после начального распределения и после каждого двухпутевого слияния. После точного начального распределения самая длинная лента содержит примерно 1/д всех данных, где д есть отношение роста. После каждого двухпутевого слияния объем перемотки в случае шести лент равен Ыьб„ь (см. упр.

5.4.3 — 5) и можно показать, что в случае Т лепт объем перемотки после двухпутевых слияний приблизительно равен (2/(2Т вЂ” 1)) (1 — сов(4х/(2Т вЂ” 1) ) ) от всего файла. В нашем случае Т = 5, что составляет 1~(1 — соэ80') - 0.184 от длины файла, и зто происходит в 0.9461п 5+ 0.796 — 2 случаях. Пример б. Сбалансированное слияние с обратным чтением. Оно напоминает пример 1, но значительная часть операпий перемотки устраняется.

Изменение направления обработки ленты от прямого к обратному вызывает некоторые задержки, но они несущественны. С вероятностью 1/2 перед последним проходом понадобится перемотка, поэтому можно взять х' = 1/(2Р). Пример 7. Многофазное слияние с обратным чтением. Так как в этом случае выбор с замещением порождает серии, меняющие направление примерно через каждые Р раз, то следует заменить (3) другой формулой для о'.

Достаточно хорошим приближением будет Я = (дт(3+ 1/Р)/(6Р')( + 1 (см. упр. 5.4.1-24), Все время перемотки устраняется,и из табл. 5.4,2-1 следует, что а 0.863, б - 0.921 — 2, Пример 8. Каскадное слияние с обратным чтением. Из табл. 5.4.3 — 1 имеем а 0.897., )1 0.800 — 2. Время перемотки по этой таблице можно оценить как удвоенную разность ("проходы с копированием" минус "проходы без копирования") плюс 1/(2Р) в том случае, если перед окончательным слиянием необходима перемотка для получения возрастающего порядка. Пример 9. Осциллирующая сортировка с обратным чтением. В этом случае выбор с замещением должен многократно начинаться и останавливаться; за один раз распределяется от Р— 1 до 2Р— 1 серии (в среднем Р); средняя длина серий, следовательно, оказывается приблизительно равной Р'(2Р— 4/3) /Р и можно оценить Я = (Х/((2 — 4/(ЗР)) Р') ~ +1, Некоторое время расходуется на переключение от слияния к распределению и обратно; оно приблизительно равно времени, затрачиваемому.

на чтение Р' записей с вводной ленты, а именно — Р'Сьз,т, и это происходит примерно Я/Р раз. Время перемотки и время слияния можно оценить, как в примере 6. Пример 10. Осциллирующвя сортировка с прямым чтением. Данный метод нелегко проанализировать, поскольку окончательная фаза "чистки', выполняемая после исчерпания исходных данных, не так эффективна, как предыдущие. Пренебрегая этим трудным аспектом и просто считая, что есть один дополнительный проход, можно оценить время слияния, полагая а = 1/1и Р, 8 = 0 и яз = т/Р.

Распределение серий в этом случае несколько иное, так как не используется выбор с замещением; мы устанавливаем Р' = М/С и о = (Х/Р'~(. Приложив некоторые усилия, можно совместить вычигленне, чтение и запись во время распределения, введя дополнительный коэффициент накладных расходов, равный приблизительно (М+ 2В)/М. Время переключения режимов, упомянутое в примере 9, в настоящем случае не нужно учитывать, поскольку переключение совмещается с перемоткой. Итак, оценка времени сортировки имеет вид (9) плюс 2ВЛ'Сийг/М, Из табл. 1 следует, что полученные опенки достаточно хорошо совпадают с реальностью, хотя в нескольких случаях расхождение составляет порядка 50 с. Формулы в примерах 2 и 3 показывают, что каскадному слиянию нужно отдать Таблица 1 СВОДНАЯ ТАБЛИЦА ОЦЕНОК ВРЕМЕНИ СОРТИРОВКИ Добавления ОцеикаРеаиаиыа к (9) итога итог Пр р Р В Р' Ь' и о д о' В' (9) 650 79 !.062 734 70 1.094 734 70 !.094 700 73 1.078 700 73 1.078 650 79 1.062 700 79 1.078 700 73 1.078 700 87 1.078 — 100 1.078 0.910 — 1.000 0.795 -1.136 0.773 — 1.192 0.752 -0.994 0.897 — !.200 0.910 -1.000 0.863 — ! .079 0.897 -1.200 0.72! — !.ООО 0.721 0.090 1 2 3 4 5 6 7 8 9 10 3 12500 5 8300 5 8300 4 10000 4 !ОООО 3 12500 4 10000 4 10000 4 10000 4 10000 1064 1076 1113 1103 1075 1127 947 966 972 992 981 980 922 907 952 949 874 928 1131 1158 0.303 0.000 О.

795 — 1. 136 О. 773 — 1.! 92 0.000 0.720 О. 173 О. 129 0.000 0.167 О.ООО 0.000 0.098 0.117 0.000 0.125 0.180 О.ООО 1064 1010 ргуСмсг -!- Ю 972 р!УСм,т + 4 844 рФСм, т -1- Ю 972 981 922 952 846 Р'5Си,т( Р 1095 2ВХСег,т~ы предпочтение перед многофазным на шести лентах, тем не менее на практике многофазное слияние лучше! Причина этого кроется в там, что графики, подобные изображенным на рис.

85 (на котором показан случай для пяти лент), ближе к прямым линиям для многофазного алгоритма; каскадный метод превосходит многофазный на шести лентах для 14 < В < 15 я 43 < В < 55 вблизи "точных" каскадных чисел 15 и 55, но многофазное распределение по алгоритму 5.4.2П лучше или, по крайней мере, не хуже для всех остальных В < 100. Каскадный метод предпочтительнее многофазного при о -+ оо, но на практике В не может быть слишком большим. Заниженная оценка в примере 9 обусловлена аналогичными обстоятельствами; многофазнвя сортировка лучше осциллирующей, несмотря на то что, как следует из асимптотического выражения, для больших В осциллируюп!ая сортировка будет наилучшей.

° Разрабатывая программу сортировки, которая должна испачьзоваться многократно, разумно очень тщательно оценить время работы и сравнить теорию с действительными наблюдаемыми характеристиками выполнения. Так как теория Несколько дополнительных замечаний. Сейчас самое время сделать несколько более или менее случайных замечаний относительно ленточного слияния. ° Приведенные формулы показывают, что сортировка является, в сущности, функцией от произведения )у н С, а не )у и С по отдельности. За исключением нескольких относительно незначительных соображений (например,что В выбирается кратным С) из наших формул следует, что сортировка миллиона записей по 10 символов займет примерно столько же времени, сколько сортировка 100000 записей па 100 символов.

На самом деле здесь может появиться различие, которое невозможно обнаружить в наших формулах, чак как во время выбора с замещением некоторое пространство используется для полей связи. В любом г.чучае размер ключи едва ли окажет какое-либо влияние, если толька ключи не будут столь длинными и сложными, что внутренние вычисления не смогут угнаться за работой НМЛ. При длинных записях и коротких ключах соблазнительно выделить ключи, рассортировать их, а затем как-нибудь переставить записи целиком. Но эта идея, кажется, не работает: она может только отсрочить агонию, поскачьку процедура окончательной перестановки требует почти столько же времени, сколько потребовала бы общепринятая сортировка методом слияния. сортировки развита довольно хорошо, эта процедура, как известно, способна внезапно выявить дефекты в оборудовании или программном обеспечении ввода-вывода в существующих системах.

Оказывается, обслуживание выполнялось медленнее, чем следовало,и никто этого не замечал, пока данный недостаток не проявился на программе сортировки! ° Наш анализ выбора с замещением был выполнен в предположении, что данные в файле расположены сэучайно, но файлы, встречающиеся на практике, очень часто уже являются упорядоченными в той или иной степени. (Фактически иногда пользователи обращаются к сортировке файлов, уже упорядоченных ранее, только для того. чтобы убедиться в этом.) Таким образом, опыт даже в ббльшей мере, чем указывают наши формулы, показал, что выбор с замещением предпочтительнее других видов внутренней сортировки.

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

Тип файла
DJVU-файл
Размер
10,16 Mb
Тип материала
Высшее учебное заведение

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

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