Что такое синглтон ? - мерность записи структуры данных (СД). В прошлом занятии был граф, который помог выбрать нужную СД для задач.
Какую СД выбрать?
Какого размера будет запись в СД?
Один студент - одна запись в СД, но форма записи может быть многомерной.
Для списка аудиторий нам точно triplet
не пригодится.
По этому размер записи для студентов и для аудиторий - 1 и 1.
СД для хранения или для обработки?
обработка - достать и удалить.
В данном случае и список студентов и список аудиторий мы будем хранить
Разрешаем ли мы хранить дубликаты?
Фамили, имена могут совпадать, в отличие от номеров аудиторий в одном корпусе: для студентов — да, для аудиторий — нет.
СД будет фиксированного или изменяемого размера: для студентов — изменяемый, для аудиторий — изменяемый (вдруг достроят аудиторию/подсобку).
Ответ: list (например, его имплементация ArrayList
)для студентов, а set (например, его имплементация TreeSet
) для аудиторий.
Почитайте про каждую из этих структур данных из примера. Возможно у вас будут иные обоснованные предложения той или иной СД для этого примера? Обсуждение приветствуется :)
Таких СД есть четыре (основных):
Queue. FIFO - first in first out (пришел первый - первый и ушел).
Stack. LIFO - last in first out (последний пришел - первый ушел).
De-Queue. Добавлять элементы можно с двух сторон и удалять также (одна очередь в два кабинета).
Priority queue. У каждой задачи есть свой приоритет (чем больше приоритет, тем раньше обслужили).
В следующем уроке будет рассказ про СД, которые работают с парами.
Полезные ссылки:
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт