Для удобства учеников JavaRush мы решили собрать лекции и статьи о самых важных темах в программировании.
Вторая подборка — о структурах данных. В мини-гайде мы кратко излагаем суть статей, а если перейти по ссылке — можно подробнее ознакомиться с интересующей темой. Добавляйте подборку в закладки и возвращайтесь к ней, когда потребуется.
Материалы о структурах данных
Статьи и лекции
В программировании существует огромное количество разнообразных структур данных. Очень часто при решении конкретной задачи самое главное — выбор наиболее подходящей для этого структуры данных. В этой лекции идет речь о таких структурах данных, как стек и очередь. В конце лекции автор также приводит ссылки на полезные ресурсы о структурах данных.
В лекции идет речь о такой структуре данных как пирамида (еще известная как куча и двоичная куча). Как правило, такие структуры данных применяют в различных планировщиках и других структурах, в которых нужно обозначить приоритетность различных задач. Кроме теории, в статье приведена реализация пирамиды на Java.
Среди баз для структур данных обязательно стоит разобраться с деревьями двоичного поиска. В лекции рассматривают саму структуру с ее особенностями и преимуществами и показывают, как можно реализовать двоичное дерево в Java.
Map — это структура данных, которая содержит набор пар “ключ-значение”. По своей структуре данных напоминает словарь, поэтому ее часто так и называют. В то же время, Map является интерфейсом, и в стандартном jdk содержит основные реализации:
Hashmap,
LinkedHashMap,
Hashtable,
TreeMap. В статье отвечают на самые популярные вопросы о
Map.
Это подробная “энциклопедия” расскажет обо всем, что нужно знать о массивах со старта: что это такое, как объявлять, создавать массив, что такое длина массива, а также о том, как инициализировать массив и вывести его на экран.
Из этой лекции вы узнаете об отличиях
Map от других структур данных и на живом примере рассмотрите, как создать
HashMap в Java и работать с классом.
Лекция для тех, кто уже знаком с интерфейсом
Map и вариантами его применения. В ней рассказывается об особенностях реализации
TreeMap, а конкретнее — чем она отличается от
HashMap и как правильно ее использовать.
При разработке часто бывает сложно предсказать, какого размера понадобятся массивы. Поэтому функция динамического выделения памяти во время работы программы необходима каждому ЯП. В Java для такой цели существует класс
ArrayList: о нем и пойдет речь.
В
LinkedList элементы фактически представляют собой звенья одной цепи. У каждого элемента помимо тех данных, которые он хранит, имеется ссылка на предыдущий и следующий элемент.
Видеоролики
Префиксное дерево — это структура данных, которая позволяет хранить ассоциативный массив, ключами которого являются строки. В видеоролике Сергея Архипова вы узнаете, как в Java-разработке применяются префиксные деревья, как сохранить дерево в файл, как его загрузить обратно и много другой полезной информации.
Изучение структуры данных в Java невозможно представить без классов
HashMap,
TreeMap и
LinkedHashMap. В этом видео Java- и Kotlin-разработчик Илья Никсан провел детальный анализ различий между этими классами, их свойств и вариантов применения.
Структуры данных в “вопросах и ответах на собеседованиях”
Одна из основополагающих тем любого собеседования — структуры данных в Java. В этой статье собран список вопросов, которые могут вам задать по этой теме на собеседовании, в том числе о массивах, иерархии коллекций.
В продолжение предыдущего текста о вопросах, которые могут спросить по теме структур данных, автор разбирает темы
Map,
List,
HashMap и другие.
Бонус
Рецензия на книгу: «Структуры данных и алгоритмы Java», Роберт Лафоре
Книга посвящена изучению и использованию структур данных и алгоритмов в программировании. Она рассказывает, каким образом структуры данных определяют способ организации данных в памяти, а также как алгоритмы обеспечивают выполнение различных операций с этими структурами.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ