Навигация
Главная
Поиск
Форум
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
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

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

Моделирование ЭВМ на GPSS (три класса заданий) + Пояснительная записка
Моделирование автовокзала + Отчет + Блок схема
База данных междугородних телефонных разговоров на Delphi

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 Комментариев · 2651 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Платформа програм...
Пишем программы и...
Gold Submitter II...
Библия хакера 2. ...
Mass Photo Upload
Delphi 7: Для про...
Работа с картотеками
PDPcheck
Swing. Эффектные...
Text effect
Доступа к БД Fire...
Киллер окон
Динамические за...
Библия для програ...
SMExport
Андрей Боровский....
Работа с базами д...
Создание лабиринт...
PolyFlow
Delphi 2005 Секре...

Топ загрузок
Приложение Клие... 100772
Delphi 7 Enterp... 97809
Converter AMR<-... 20260
GPSS World Stud... 17014
Borland C++Buil... 14189
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5972
Visual Studio 2... 5206
Microsoft SQL S... 3661
Случайные статьи
WTABLE (ВЗВЕШЕННАЯ...
Нетиповые операции...
6.7. Формирование...
Перенос сайта с ло...
Дейтаграммы
управления DataGrid
Работа с программо...
Текстовое наполнен...
Определение размер...
Графические редакт...
Связывание текстов...
Необходимые действ...
Архитектура Ethern...
Как использовать п...
Режим “Портрет” и...
Состояние потока и...
Доступ к Интернету
Передача данных в ...
Процедура поиска п...
Canon: настройки д...
Работа с текстовым...
Измерение бесплатн...
Виртуальные методы...
Вулкан онлайн казино
Что посмотреть в П...
Статистика



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


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