Алгоритм последовательной организации/вставки дат
Привет,
Мне нужно построить алгоритм, который может посмотреть на X количество записей, в которых есть перекрывающиеся даты, и организовать и повторно вставить эти значения дат в хронологической последовательности.
Напр.:
В таблице есть такая запись:
Дата Начала Значение Даты Окончания
1/1/2019 12/31/2099 10
Когда вставляется новая запись, подобная этой,
5/1/2019 5/31/2019 25
Алгоритм должен организовать записи таким образом и вставить их в новую таблицу:
1/1/2019 4/30/2019 10
5/1/2019 5/31/2019 25
6/1/2019 12/31/2099 10
Исходная таблица не должна быть изменена, то есть не должно быть повторной вставки/переупорядочения записей в этой исходной таблице.
Есть ли какие-нибудь советы о наиболее эффективном способе достижения этой цели? Не ищу конкретных решений для баз данных.. только программирование.
Спасибо!
Что я уже пробовал:
Попробовал сделать это на доске, но мне показалось, что я заканчиваю слишком много проходов через данные, прежде чем приблизиться к возможному решению. Я не был уверен, что упустил более очевидный алгоритм.