У меня есть класс, который представляет событие. , поэтому мы можем создать событие, создав объект этого класса. конструктор принимает description, start time, end time, list of invites, location
и возвращает идентификатор для однозначного определения этого объекта.лучшая структура данных, подходящая для применения календаря событий
Create events : (description, start time, end time, list of invites, location) -> id
Теперь этот класс имеет другой метод, который принимает идентификатор и возвращает соответствующий объект события
Get event by id : id -> event object
аналогично мы можем обновить событие
Update event -> description, start time, end time
Сейчас 4-й операции мы хотим, чтобы мы отфильтровывали все события между временным диапазоном
get event : start time, end time
Теперь я должен использовать/создать структуру данных, которая может выполнять эти операции 4 эффективно. (Я имею в виду, что теперь нам разрешено использовать технологии хранения файлов или кеширования)
для первых трех операций Я думал, что могу использовать Имеет карту/таблицу, которая будет иметь id
как ключ и объект в качестве значения. , но в этом случае я не смогу эффективно выполнять 4-ю операцию.
для этого снова я могу использовать trie
структура данных.
Root Node->
Month nodes (12 nodes)
each month node will be having 30(or 31/28) children nodes.
and then those children nodes will be having time stamp nodes.
но в этом случае первые три операции становятся неэффективными.
Как объединить эти две структуры данных для решения этой проблемы и выполнить все 4 операции. или есть лучшая структура данных, которая может выполнять эту задачу. или мы должны создать собственную собственную структуру данных?