Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Программируемая... 64651
Invision Power ... 64068
Организация зап... 63492
Модуль Forms 60360
Создание отчето... 60342
ТЕХНОЛОГИИ ДОСТ... 56634
Пример работы с... 53748
Создание потоко... 52212
Имитационное мо... 52060
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,061
новичок: FooBar
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Обработка задач на ЭВМ на GPSS + Пояснительная записка
Моделирование работы ЭВМ на GPSS + Пояснительная записка
Выбор наилучших альтернатив с использованием методов оптимизации на Delp...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
14.6. Задачи
1. Реализуйте очереди с приоритетом с помощью куч так, чтобы достичь максимальной производительности. При каких значениях п они работают быстрее, чем последовательные структуры?
2. Измените функцию siftdown так, чтобы она соответствовала следующей спецификации:
void siftdown(1 . u)
предусловие heap(1+1. u) постусловие¦ heap(1. и)
Каким будет время работы такого кода? Покажите, как можно использовать этот алгоритм для формирования кучи за время О(п) и получить, таким образом, более быстрый вариант сортировки heapsort, который к тому же оказывается короче исходного.
3. Реализуйте сортировку Heapsort так, чтобы производительность была максимальной. Насколько быстро работает эта программа по сравнению с другими из таблицы в разделе 11.3 главы 11?
4. Используйте механизм куч при реализации очередей с приоритетом для решения приведенных ниже задач (подумайте, как изменится ваш ответ, если станет известно, что входные данные уже упорядочены):
а) составить таблицу кодов Хаффмана (описаны в большинстве учебников по теории информации и структурам данных);
б) вычислить сумму большого количества чисел с плавающей точкой;
в) найти миллион наибольших чисел из миллиарда, хранящихся в файле;
г) выполнить слияние большого количества небольших упорядоченных файлов в один упорядоченный файл (задача возникает при реализации программы сортировки слиянием, работающей с дисками, — раздел 1.3 главы 1).
5. Задача об упаковке корзин состоит в раскладывании п грузов, каждый из которых лежит в диапазоне 0. .1, по минимальному количеству корзин, вместимость которых различна и определена заранее. Первый эвристический метод решения этой задачи состоит в последовательном рассмотрении предлагаемых грузов и помещении их в первую подходящую по объему корзину (корзины рассматриваются в порядке возрастания вместимости). Девид Джонсон (David Johnson) показал, что этот эвристический алгоритм может быть реализован за время 0{пlog;?). Покажите, как это можно сделать.
6. Типичная реализация файлов с последовательным доступом на диске организуется с помощью указателей, хранящихся внутри блоков и указывающих на следующий за данным блок файла. Для записи блока в этом методе требуется постоянное время (при первой записи файла); считывание первого и i-ro блоков (после того, как считан i-1 блок) также требует постоянного времени. Считывание i-ro блока выполняется за время, пропорциональное
i. Когда Эд Маккрейт (Ed McCreight) разрабатывал контроллер жесткого
диска в исследовательском центре Ксерокс Пало Альто, он выяснил, что добавление еще одного указателя позволяет сохранить все прочие свойства, но при этом считывать i-ii блок файла за время, пропорциональное логарифму 1. Как бы вы реализовали эту идею? Объясните, что общего имеет алгоритм считывания i-ro блока с программой возведения числа в степень i за log / операций в задаче 9 из главы 4.
7. На некоторых компьютерах самой дорогостоящей операцией в программе двоичного поиска является деление пополам, используемое для определения середины диапазона. Покажите, как можно заменить эту операцию операцией умножения в том случае, если массив правильно организован. Придумайте алгоритмы построения такого массива и поиска в нем.
8. Как можно реализовать очередь с приоритетом для чисел из диапазона [0, к) при условии, что средний размер очереди много больше к?
9. Покажите, что логарифмы времен выполнения insert и extractmin в реализации очередей с приоритетом с помощью куч отличаются от оптимального алгоритма для этих задач не более, чем на постоянный множитель.
10. Принцип, лежащий в основе куч, знаком всем спортивным болельщикам. Пусть Брайан победил Ала, а Линн победил Петера, а потом Линн победил Брайана в матче за звание чемпиона. Результаты обычно изображаются следующим образом (рис. 14.11).
Результаты полуфинальных матчей и финала
Такие деревья результатов часто рисуют для тенниса, баскетбола, футбола и бейсбола. Если предположить, что результаты матчей всегда справедливы и разумны (то есть побеждает реально сильнейший, что не всегда верно в атлетике), какова будет вероятность, что второй но силе игрок выйдет в финал? ПридуMaiiте алгоритм равномерного распределения игроков в соответствии с их рейтингом до чемпионата.
11. Как реализованы кучи, очереди с приоритетом и сортировка heapsort в стандартной библиотеке шаблонов C++ STL?
Опубликовал vovan666 April 17 2013 03:04:30 · 0 Комментариев · 1676 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
PHP5. Профессиона...
Реализация ЭЦП по...
Иллюстрированный ...
Изучаем Ассемблер
Основы Delphi
CaptionButton
PCX
Размещение элемен...
Turbo Pascal for ...
Доступа к БД Fire...
PHP глазами хакера
около 291 статьи ...
Основы программир...
Применение жадног...
Дарахвелидзе П., ...
Delphi 2005 Секре...
Assembler. Практикум
Crypt32
PHP: настольная к...
Borland C++Builde...

Топ загрузок
Приложение Клие... 100371
Delphi 7 Enterp... 82743
Converter AMR<-... 20046
Borland C++Buil... 11139
GPSS World Stud... 10693
Borland Delphi ... 8082
Turbo Pascal fo... 6968
Visual Studio 2... 4963
Калькулятор [Ис... 4312
FreeSMS v1.3.1 3510
Случайные статьи
Вычисление НОД по ...
Как стать издателем
Гриб маслята
групповой политики...
Классификация эксп...
Моделирование элек...
Строки - индикатор...
Поиграем с панелью...
Системы голосовани...
Элементы управлени...
Как писать правиль...
Какие есть четыре ...
Несколько примеров...
Игровые автоматы....
Требования к отчет...
Туры в Осло, Норвегия
Services for Macin...
сервер DNS, один к...
Площадь треугольника
Корень дерева упра...
Процедуры put и se...
6.5. Дополнительна...
Перепишем функцию ...
Определение вторич...
14.5. Принципы
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?