Алгоритмы и структуры данных, Извлечение информации на языке Java, Доуни А.Б., 2018.
Изучите, как следует реализовывать эффективные алгоритмы на основе важнейших структур данных на языке Java, а также как измерять производительность этих алгоритмов. Каждая глава сопровождается упражнениями, помогающими закрепить материал.
• Научитесь работать со структурами данных, например, со списками и словарями, разберитесь, как они работают.
• Напишите приложение, которое читает страницы Википедии, выполняет синтаксический разбор и обеспечивает навигацию по полученному дереву данных.
• Анализируйте код и учитесь прогнозировать, как быстро он будет работать и сколько памяти при этом потреблять.
• Пишите классы, реализующие интерфейс Мар, пользуйтесь при этом хеш-таблицей и двоичным деревом поиска.
• Создайте простой веб-поисковик с собственным поисковым роботом: он будет индексировать веб-страницы, сохранять их содержимое и возвращать нужные результаты.
Анализ алгоритмов.
Как мы видели в предыдущей главе, Java предоставляет две реализации интерфейса List: ArrayList и LinkedList. Для одних приложений быстрее работает вторая реализация, для других — первая.
Чтобы решить, какая из них лучше подходит для конкретного приложения, можно использовать такой способ: попробовать обе и посмотреть, сколько каждой из них требуется времени. Данный подход, который называется профилированием, чреват несколькими проблемами.
1. Прежде чем вы сможете сравнить алгоритмы, вы должны реализовать их оба.
2. Результаты могут зависеть от того, какой компьютер вы используете. Один алгоритм хорошо работает на одной машине, второй — на другой.
3. Результаты могут зависеть от размера задачи или данных, предоставленных в качестве входных.
Некоторые из этих задач можно решить с помощью анализа алгоритмов. В процессе своей работы он позволяет сравнивать алгоритмы, не касаясь их реализации. Но мы должны ввести некоторые допущения.
ОГЛАВЛЕНИЕ.
Предисловие.
Глава 1. Интерфейсы.
Глава 2. Анализ алгоритмов.
Глава 3. Класс ArrayList.
Глава 4. Класс LinkedList.
Глава 5. Двусвязный список.
Глава 6. Обход дерева.
Глава 7. Путь к философии.
Глава 8. Индексатор.
Глава 9. Интерфейс Мар.
Глава 10. Хеширование.
Глава 11. HashMap.
Глава 12. ТгееМар.
Глава 13. Бинарное дерево поиска.
Глава 14. Сохраняемость.
Глава 15. Сбор данных в «Википедии».
Глава 16. Логический поиск.
Глава 17. Сортировка.
Об авторе.
Об обложке.
Купить .
Теги: учебник по программированию :: программирование :: Доуни
Смотрите также учебники, книги и учебные материалы:
- Профессиональный TypeScript, Разработка масштабируемых JavaScript-приложений, Борис Черный, 2021
- Простой Python, Современный стиль программирования, Любанович Б., 2021
- Программирование квантовых компьютеров, Базовые алгоритмы и примеры кода, Химено-Сеговиа М., Хэрриган Н., Джонстон Э., 2021
- Компьютерное зрение на Python, Первые шаги, Шакирьянов Э.Д., 2021
- Математическое программирование, Теория и методы, Гредасова Н.В., Сесекин А.Н., Шориков А.Ф., Плескунов М.А., 2020
- Теория автоматического управления в примерах и задачах с решениями в MATLAB, Гайдук А.Р., Беляев В.Е., Пьявченко Т.А., 2016
- Цифровая обработка сигналов на системном уровне с использованием LabVIEW, Кехтарнаваз Н., Ким Н., 2007
- Эффективный Spark, масштабирование и оптимизация, Карау Х., Уоррен Р., 2018