Навигация
Главная
Поиск
Форум
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
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 63569
Модуль Forms 63394
ТЕХНОЛОГИИ ДОСТ... 60181
Пример работы с... 59281
Имитационное мо... 55618
Реклама
Сейчас на сайте
Гостей: 19
На сайте нет зарегистрированных пользователей

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

Моделирование автомойки на GPSS + Отчет + Блок схемы
Сравнение двух бинарных деревьев на Turbo Pascal + отчет
Моделирование процесса обеспечивающего надежность функционирования АСУ Т...

Реклама



Подписывайся на 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 04:04:30 · 0 Комментариев · 1893 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Паскаль и Дельфи....
Geo-Whois
Развивающийся фла...
Delphi 7: Для про...
Динамические за...
Система баннеро...
XPcontrol
C# в кратком изло...
WordReport
StartMark
Rss Parser
PolyFlow
Эффект лампы на р...
Java 2 - Эффектив...
База предприятий ...
Borland Delphi 6....
PHP в примерах
Info
iComm v.6.1 - выв...
DelphiX

Топ загрузок
Приложение Клие... 100444
Delphi 7 Enterp... 85618
Converter AMR<-... 20065
GPSS World Stud... 12472
Borland C++Buil... 11526
Borland Delphi ... 8481
Turbo Pascal fo... 7020
Visual Studio 2... 4987
Калькулятор [Ис... 4728
FreeSMS v1.3.1 3533
Случайные статьи
Наркологическая кл...
Лечение зубов
Вспомогательные ср...
Размеры блока
Интерактивные зака...
Корневой маршрутиз...
Выжить в Песочнице!
Удаление из файла ...
WDQTABLE (ВЗВЕШЕНН...
Значение доменного...
Чтение/показ из фа...
Заданы целые числа...
Интервью с сотовым...
Программа реализую...
Управление потоком
Усовершенствованны...
Листинг 9.6. Двоич...
Изменения в SVR4.1/ES
Краткий обзор экра...
Матричное представ...
6.12. Сравнение ч...
LEAVE (ВЫЙТИ)
Аппаратные IP-теле...
Перечисление детал...
Методики авторизац...
Статистика



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


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