Ваш город
Москва
Ваш город Москва?
+7 928 117-10-37
Отдел продаж
Режим работы:
Пн-Сб 10:00—18:00;
Вс выходной
КАТАЛОГ ТОВАРОВ
0КорзинаПусто0 руб.
Товары в корзине
корзина пуста
КАТАЛОГ ТОВАРОВ
Корзина пуста0 руб.0
Товары в корзине
корзина пуста
Корзина пуста0 руб.0
Товары в корзине
корзина пуста

Оглавление

Предисловие................................................................................12

Философия книги....................................................................12
Обязательные условия............................................................14
Работа с кодом.......................................................................15
Условные обозначения...........................................................16
Соавторы................................................................................17
Глава 1. Интерфейсы ............................................................... 19
Почему существует два типа List.............................................20
Интерфейсы в Java.................................................................21
Интерфейс List........................................................................22
Упражнение 1.........................................................................25
Глава 2. Анализ алгоритмов ..................................................... 28
Сортировка выбором..............................................................30
Нотация «О» большого...........................................................33
Упражнение 2.........................................................................35
Глава 3. Класс ArrayList ............................................................ 40
Классификация методов MyArrayList.......................................40
Классификация версий метода add.........................................43
Размер задачи........................................................................46
Связные структуры данных.....................................................47
Упражнение 3.........................................................................51
Примечание о сборке мусора..................................................54
Глава 4. Класс LinkedList .......................................................... 56
Классификация методов MyLinkedList......................................56
Сравнение MyArrayList и MyLinkedList......................................60
Профилирование....................................................................61
Интерпретация результатов....................................................65
Упражнение 4.........................................................................67
Глава 5. Двусвязный список ..................................................... 69
Результаты профилирования производительности..................69
Профилирование производительности
методов LinkedList...................................................................73
Добавление в конец LinkedList................................................74
Двусвязный список.................................................................78
Выбор структуры....................................................................79
Глава 6. Обход дерева ............................................................. 82
Поисковые системы................................................................82
Парсинг HTML.........................................................................84
Применение jsoup...................................................................86
Итерация по дереву DOM........................................................90
Поиск в глубину......................................................................91
Стеки в Java............................................................................92
Итеративный поиск в глубину.................................................94
Глава 7. Путь к философии ...................................................... 97
Начало разработки.................................................................97
Интерфейсы Iterable и Iterator................................................98
WikiFetcher.............................................................................101
Упражнение 5........................................................................103
Глава 8. Индексатор ................................................................ 106
Выбор структуры данных.......................................................107
TermCounter...........................................................................109
Упражнение 6........................................................................112
Глава 9. Интерфейс Map ......................................................... 118
Реализация MyLinearMap........................................................118
Упражнение 7........................................................................120
Анализ MyLinearMap...............................................................121
Глава 10. Хеширование ........................................................... 125
Хеширование.........................................................................125
Как работает хеширование....................................................128
Хеширование и изменяемость................................................131
Упражнение 8........................................................................133
Глава 11. HashMap .................................................................. 135
Упражнение 9........................................................................136
Анализ MyHashMap................................................................137
Компромиссные решения.......................................................140
Профилирование MyHashMap.................................................141
Исправление MyHashMap.......................................................142
Диаграммы классов UML........................................................145
Глава 12. TreeMap ................................................................... 149
Что не так с хешированием....................................................149
Бинарное дерево поиска........................................................151
Упражнение 10......................................................................154
Реализация TreeMap..............................................................155
Глава 13. Бинарное дерево поиска ......................................... 160
Простая реализация MyTreeMap.............................................160
Поиск по значению................................................................162
Реализация put......................................................................164
Симметричный обход.............................................................166
Методы, выполняющиеся за логарифмическое время............168
Самобалансирующиеся деревья.............................................172
Дополнительное упражнение.................................................173
Глава 14. Сохраняемость ........................................................ 174
Redis......................................................................................175
Клиенты и серверы Redis.......................................................177
Создание индекса на основе Redis.........................................178
Типы данных Redis.................................................................181
Упражнение 11......................................................................184
Дополнительные рекомендации.............................................186
Несколько советов по проектированию..................................188
Глава 15. Сбор данных в «Википедии» .................................... 190
Индексатор на основе Redis...................................................190
Анализ поиска.......................................................................194
Анализ индексирования.........................................................195
Обход графа..........................................................................196
Упражнение 12......................................................................198
Глава 16. Логический поиск .................................................... 202
Решение для поискового робота............................................202
Поиск информации................................................................206
Логический поиск..................................................................207
Упражнение 13......................................................................208
Интерфейсы Comparable и Comparator...................................211
Дополнения...........................................................................214
Глава 17. Сортировка .............................................................. 216
Сортировка вставкой.............................................................217
Упражнение 14......................................................................220
Анализ сортировки слиянием.................................................222
Поразрядная сортировка.......................................................226
Пирамидальная сортировка...................................................229
Ограниченная куча................................................................232
Пространственная сложность.................................................233
Об авторе...................................................................................235
Об обложке................................................................................236

Мы используем файлы cookie, чтобы сайт был лучше для вас.