Навигация
Главная
Поиск
Форум
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
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 10
На сайте нет зарегистрированных пользователей

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

Моделирование автовокзала + Отчет + Блок схема
Моделирование процесса обработки заданий пакетным режимом работы с квант...
Моделирование круглосуточного интернет кафе на GPSS + Отчет

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

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Запрет гостям ск...
Цветной Grid
Halcyon
EditButton
CarGame [Исходник...
ZipForge
Введение в станда...
iComm v.6.1 - выв...
FormShape [Исходн...
Аватары в комме...
С. Г. Горнаков - ...
Факториал [Исходн...
TelBook
PBEditPack
Progressbar
Фундаментальные а...
начисление процен...
Delphi 2006 - Спр...
Comdrv
JBlabel3D

Топ загрузок
Приложение Клие... 100779
Delphi 7 Enterp... 97936
Converter AMR<-... 20285
GPSS World Stud... 17037
Borland C++Buil... 14206
Borland Delphi ... 10334
Turbo Pascal fo... 7381
Калькулятор [Ис... 6050
Visual Studio 2... 5214
Microsoft SQL S... 3667
Случайные статьи
Как расколоть орешек
Модель доступа к д...
Примеры локальных ...
Обход дерева
Game Boy Advance, ...
Основное -- адеква...
ООП И ОБРАБОТКА ИС...
Храбрость
Клуб Вулкан онлайн...
АНТИПАТТЕРН: ПРЕДИ...
Вычислить произвед...
Type Identifier ex...
Создание рабочей к...
Здравый смысл
Игровой видео слот...
Непосредственное в...
Разработка
Чтобы гарантироват...
Расширенные буферы...
Сенсорные экраны
2.6.3. Установле...
Порождение класса ...
Адресное пространство
ОСНОВЫ ООП В DELPH...
Моделирование и си...
Статистика



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


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