Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 595999)
Консорциум Контекстум Информационная технология сбора цифрового контента
Уважаемые СТУДЕНТЫ и СОТРУДНИКИ ВУЗов, использующие нашу ЭБС. Рекомендуем использовать новую версию сайта.

Delphi. Готовые алгоритмы (1500,00 руб.)

0   0
Первый авторСтивенс
ИздательствоМ.: ДМК Пресс
Страниц380
ID794521
АннотацияПрограммирование всегда было достаточно сложной задачей. Эта книга поможет вам легко преодолеть возникающие трудности с помощью библиотеки мощных алгоритмов, полностью реализованных в исходном коде Delphi. Вы узнаете, как выбрать способ, наиболее подходящий для решения конкретной задачи, и как добиться максимальной производительности вашего приложения. Рассматриваются типичные и наихудшие случаи реализации алгоритмов, что позволит вам вовремя распознать возможные трудности и при необходимости переписать или заменить часть программы. Подробно описываются важнейшие элементы алгоритмов хранения и обработки данных (списки, стеки, очереди, деревья, сортировка, поиск, хеширование и т.д.). Приводятся не только традиционные решения, но и методы, основанные на последних достижениях объектно-ориентированного программирования. Книга предназначена для начинающих программистов на Delphi, но благодаря четкой структуризации материала и богатой библиотеке готовых алгоритмов будет также интересна и специалистам.
ISBN5-94074-106-1
УДК004.438Delphi
ББК32.973.26-018.1
Стивенс, Р. Delphi. Готовые алгоритмы / Р. Стивенс .— Москва : ДМК Пресс .— 380 с. — ISBN 5-94074-106-1 .— URL: https://rucont.ru/efd/794521 (дата обращения: 06.10.2022)

Предпросмотр (выдержки из произведения)

Delphi._Готовые_алгоритмы.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Delphi._Готовые_алгоритмы.pdf
УДК 004.438Delphi ББК 32.973.26018.1 С80 Стивенс Р. С80 Delphi. Готовые алгоритмы: Пер. с англ. – М.: ДМК Пресс. – 384 с.: ил. (Серия «Для программистов»). ISBN 5940741061 Программирование всегда было достаточно сложной задачей. Эта кни га поможет вам легко преодолеть возникающие трудности с помощью биб лиотеки мощных алгоритмов, полностью реализованных в исходном коде Delphi. Вы узнаете, как выбрать способ, наиболее подходящий для реше ния конкретной задачи, и как добиться максимальной производительнос ти вашего приложения. Рассматриваются типичные и наихудшие случаи реализации алгоритмов, что позволит вам вовремя распознать возможные трудности и при необходимости переписать или заменить часть программы. Подробно описываются важнейшие элементы алгоритмов хранения и обра ботки данных (списки, стеки, очереди, деревья, сортировка, поиск, хеши рование и т.д.). Приводятся не только традиционные решения, но и мето ды, основанные на последних достижениях объектноориентированного программирования. Книга предназначена для начинающих программистов на Delphi, но благодаря четкой структуризации материала и богатой библиотеке готовых алгоритмов будет также интересна и специалистам. ББК 32.973.26018.1 All Rights Reserved. Authorized translation from the English language edition published by John Wiley & Sons, Inc. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владель цев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответ ственности за возможные ошибки, связанные с использованием книги. ISBN 0471254002 (англ.) ISBN 5940741061 (рус.) © By Rod Stephens. Published by John Wiley © Перевод на русский язык, оформление. & Sons, Inc. ДМК Пресс
Стр.5
Содержание Введение ......................................................................................... 12 Глава 1. Основные понятия ................................................ 18 Что такое алгоритмы ................................................................ 18 Анализ скорости выполнения алгоритмов .......................... 19 Память или время ........................................................................ 19 Оценка с точностью до порядка ................................................... 20 Определение сложности ............................................................. 21 Сложность рекурсивных алгоритмов ........................................... 23 Средний и наихудший случай ................................................. 25 Общие функции оценки сложности ...................................... 26 Логарифмы ................................................................................. 27 Скорость работы алгоритма в реальных условиях ........... 27 Обращение к файлу подкачки ...................................................... 28 Резюме ........................................................................................ 30 Глава 2. Списки ........................................................................... 31 Основные понятия о списках .................................................. 31 Простые списки ......................................................................... 32 Изменение размеров массивов .................................................. 32 Список переменного размера .................................................... 35 Класс SimpleList .......................................................................... 39 Неупорядоченные списки ....................................................... 40 Связанные списки ..................................................................... 45 Добавление элементов ............................................................... 47 Удаление элементов ................................................................... 48
Стр.6
6 Delphi. Готовые алгоритмы Метки .......................................................................................... 49 Доступ к ячейкам ......................................................................... 50 Разновидности связанных списков ...................................... 52 Циклические связанные списки ................................................... 52 Двусвязные списки ...................................................................... 53 Списки с потоками ...................................................................... 55 Другие связанные структуры ................................................. 58 Резюме ........................................................................................ 60 Глава 3. Стеки и очереди ..................................................... 61 Стеки ............................................................................................ 61 Стеки на связанных списках ........................................................ 63 Очереди ....................................................................................... 65 Циклические очереди .................................................................. 66 Очереди на основе связанных списков ........................................ 70 Очереди с приоритетом .............................................................. 71 Многопоточные очереди ............................................................. 73 Резюме ........................................................................................ 75 Глава 4. Массивы ...................................................................... 77 Треугольные массивы .............................................................. 77 Диагональные элементы ............................................................. 78 Нерегулярные массивы ........................................................... 79 Линейное представление с указателем ....................................... 80 Нерегулярные связанные списки ................................................. 81 Динамические массивы Delphi ..................................................... 82 Разреженные массивы ............................................................. 83 Индексирование массива ............................................................ 84 Сильно разреженные массивы .............................................. 87 Резюме ........................................................................................ 89 Глава 5. Рекурсия ...................................................................... 90 Что такое рекурсия ................................................................... 90 Рекурсивное вычисление факториалов .............................. 91 Анализ сложности ....................................................................... 92
Стр.7
Содержание 7 Рекурсивное вычиcление наибольшего общего делителя ............................................. 93 Анализ сложности ....................................................................... 94 Рекурсивное вычисление чисел Фибоначчи ...................... 95 Анализ сложности ....................................................................... 96 Рекурсивное построение кривых Гильберта ...................... 97 Анализ сложности ....................................................................... 99 Рекурсивное построение кривых Серпинского ............... 102 Анализ сложности ..................................................................... 104 Недостатки рекурсии ............................................................. 105 Бесконечная рекурсия ............................................................... 106 Потери памяти .......................................................................... 107 Необоснованное применение рекурсии .................................... 107 Когда нужно использовать рекурсию ........................................ 108 Удаление хвостовой рекурсии ............................................. 109 Нерекурсивное вычисление чисел Фибоначчи ................ 111 Устранение рекурсии в общем случае ............................... 113 Нерекурсивное создание кривых Гильберта ................... 118 Нерекурсивное построение кривых Серпинского .......... 121 Резюме ...................................................................................... 125 Глава 6. Деревья ...................................................................... 126 Определения ............................................................................ 126 Представления деревьев ...................................................... 127 Полные узлы ............................................................................. 128 Списки дочерних узлов ............................................................. 129 Представление нумерацией связей .......................................... 130 Полные деревья ........................................................................ 134 Обход дерева ........................................................................... 135 Упорядоченные деревья ........................................................ 140 Добавление элементов ............................................................. 141 Удаление элементов ................................................................. 142 Обход упорядоченных деревьев ................................................ 146
Стр.8
8 Delphi. Готовые алгоритмы Деревья со ссылками ............................................................. 147 Особенности работы ................................................................. 150 Qдеревья ................................................................................. 151 Изменение значения MAX_QTREE_NODES ................................ 157 Восьмеричные деревья ............................................................. 157 Резюме ...................................................................................... 158 Глава 7. Сбалансированные деревья ........................ 159 Балансировка ........................................................................... 159 AVLдеревья .............................................................................. 160 Добавление узлов к AVLдереву ................................................ 160 Удаление узлов из AVLдерева .................................................. 169 Бдеревья .................................................................................. 174 Производительность Бдерева ................................................. 175 Удаление элементов из Бдерева .............................................. 176 Добавление элементов в Бдерево ........................................... 176 Разновидности Бдерева .......................................................... 178 Усовершенствование Бдеревьев ............................................. 180 Вопросы доступа к диску ........................................................... 181 База данных на основе Б+дерева .............................................. 184 Резюме ...................................................................................... 187 Глава 8. Деревья решений ................................................ 188 Поиск в игровых деревьях ..................................................... 188 Минимаксный перебор ............................................................. 190 Оптимизация поиска в деревьях решений ................................. 193 Поиск нестандартных решений ........................................... 194 Ветви и границы ........................................................................ 195 Эвристика ................................................................................. 200 Сложные задачи ...................................................................... 216 Задача о выполнимости ............................................................ 217 Задача о разбиении .................................................................. 217 Задача поиска Гамильтонова пути ............................................. 218 Задача коммивояжера .............................................................. 219
Стр.9
Содержание 9 Задача о пожарных депо ........................................................... 220 Краткая характеристика сложных задач .................................... 220 Резюме ...................................................................................... 221 Глава 9. Сортировка .............................................................. 222 Общие принципы ..................................................................... 222 Таблицы указателей .................................................................. 222 Объединение и сжатие ключей .................................................. 223 Пример программы ................................................................ 226 Сортировка выбором ............................................................. 226 Перемешивание ...................................................................... 227 Сортировка вставкой ............................................................. 228 Вставка в связанных списках ..................................................... 229 Пузырьковая сортировка ....................................................... 231 Быстрая сортировка ............................................................... 234 Сортировка слиянием ............................................................ 239 Пирамидальная сортировка ................................................. 241 Пирамиды ................................................................................. 241 Очереди с приоритетом ............................................................ 245 Алгоритм пирамидальной сортировки ...................................... 248 Сортировка подсчетом .......................................................... 250 Блочная сортировка ............................................................... 251 Блочная сортировка с использованием связанных списков ...... 252 Резюме ...................................................................................... 255 Глава 10. Поиск ......................................................................... 257 Примеры программ ................................................................ 257 Полный перебор ...................................................................... 258 Перебор сортированных списков .............................................. 259 Перебор связанных списков ...................................................... 259 Двоичный поиск ....................................................................... 261 Интерполяционный поиск ..................................................... 263
Стр.10
10 Delphi. Готовые алгоритмы Строковые данные .................................................................. 267 Следящий поиск ...................................................................... 268 Двоичное отслеживание и поиск ............................................... 268 Интерполяционный следящий поиск ......................................... 269 Резюме ...................................................................................... 270 Глава 11. Хеширование ....................................................... 272 Связывание ............................................................................... 273 Преимущества и недостатки связывания .................................. 275 Блоки .......................................................................................... 277 Хранение хештаблиц на диске ................................................. 280 Связывание блоков ................................................................... 283 Удаление элементов ................................................................. 285 Преимущества и недостатки использования блоков ................. 286 Открытая адресация ............................................................... 286 Линейная проверка ................................................................... 287 Квадратичная проверка ............................................................. 294 Псевдослучайная проверка ....................................................... 297 Удаление элементов ................................................................. 299 Резюме ...................................................................................... 301 Глава 12. Сетевые алгоритмы ........................................ 304 Определения ............................................................................ 304 Представления сетей ............................................................. 305 Управление узлами и связями ................................................... 307 Обход сети ................................................................................ 308 Наименьший каркас дерева ................................................. 311 Кратчайший путь ..................................................................... 316 Расстановка меток .................................................................... 318 Коррекция меток ....................................................................... 323 Варианты поиска кратчайшего пути .......................................... 326 Применение алгоритмов поиска кратчайшего пути ................... 331
Стр.11
Содержание 11 Максимальный поток .............................................................. 335 Сферы применения ................................................................... 342 Резюме ...................................................................................... 345 Глава 13. Объектноориентированные методы ............................................................................................ 346 Преимущества ООП ................................................................ 346 Инкапсуляция ............................................................................ 346 Полиморфизм ........................................................................... 349 Многократное использование и наследование ......................... 349 Парадигмы ООП ...................................................................... 351 Управляющие объекты .............................................................. 351 Контролирующий объект ........................................................... 353 Итератор ................................................................................... 354 Дружественный класс ............................................................... 356 Интерфейс ................................................................................ 356 Фасад ....................................................................................... 357 Фабрика .................................................................................... 357 Единственный объект ................................................................ 359 Сериализация ........................................................................... 361 Парадигма Модель/Вид/Контроллер ........................................ 364 Резюме ...................................................................................... 367 Приложение 1. Архив примеров ................................... 368 Cодержание архива с примерами ....................................... 368 Аппаратные требования ........................................................ 368 Запуск примеров программ ................................................. 368 Информация и поддержка пользователей ....................... 369 Приложение 2. Список примеров программ ........ 370 Предметный указатель ........................................................ 373
Стр.12

Облако ключевых слов *


* - вычисляется автоматически