我正在寻找一种算法来执行以下操作。我有一个事件时间表,这些事件跨越可以重叠的时间段。我想将这些事件折叠成一个时间线不重叠的时间段,每个时间段都由一个或多个事件的存在定义。
虽然概念上很简单,但捕捉所有可能的情况并适当地分割时间线可能有点混乱。
为了说明(这里的横轴是时间):
Event A -----
Event B ----
变成
Event A ---
Event A+B --
Event B --
另一个例子:
A -----------
B ---
C --
变成:
A ---
A+B ---
A --
A+C --
A -
是否有任何标准算法/数据结构可以做到这一点?