LINUX.ORG.RU

Структура данных для расписания

 


1

3

Есть задача составить некое приложение с расписанием занятости какого-то объекта. Например, резервирование помещения под встречи.

Столкнулся с тем, что чего-то не могу придумать устраивающего самого себя варианта хранения данных.

Связный список с интервалами? Неудобно вести поиск для вставки нового варианта и чтобы не было пересечений времени (если какая-то встреча с 10.00 до 11.15, другая не может с 10.30 начаться).

Массив с разбиением по минутам? Слишком жирный получается, для года это уже 525600 ячеек, хотя может и вариант...

Подключить СУБД какую, хотя бы sqlite - как-то слишком монстрообразно выглядит.

В общем, интересно было бы услышать какие есть нормальные варианты.

★★★★★

Подключить СУБД какую, хотя бы sqlite - как-то слишком монстрообразно выглядит.

Нет. Это же не серверная СУБД. Считай это файл с данными со слегка иным методом чтения/записи, но с готовым GUI (sqliteadmin) и поиском/вставкой/удалением которые можно легко оптимизировать индексами.

Его так и используют: табличка на сотню записей. а он типа терабайтовые базы со 100500 таблиц поддерживает. У тебя в браузере наверняка sqlite используется для хранения всякой мелочи.

Бинарный файл самобытного формата - вот что сейчас выглядит монстрообразно.

anonymous
()
Ответ на: комментарий от anonymous

На первый взгляд выглядит интересно.

praseodim ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Бинарный файл самобытного формата - вот что сейчас выглядит монстрообразно.

Ну почему бинарный, на диске это у меня, скорее всего, будет просто текстовый файл с записями.

praseodim ★★★★★
() автор топика

Связный список с интервалами? Неудобно вести поиск для вставки нового варианта и чтобы не было пересечений времени (если какая-то встреча с 10.00 до 11.15, другая не может с 10.30 начаться).

Почему? Даже тупо половинное деление вполне подойдёт.

Вариант с sqlite даже ещё лучше. Ты сразу решаешь 2 задачи - индексация, которую уже сделали до тебя, и постоянное хранение (не надо геморроиться с загрузкой-выгрузкой).

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.