算法输入:
- 多个段,每个段由两个值表示,例如(1,3)
算法原理:
- 将多个段按照左边的值排序放到列表中
- 遍历列表,不断选择没有重叠的段,直到列表遍历结束,将选择的这些段放在同一行
- 增加行计数,重复第二步
执行LE算法如下:
- 排序列表(这里一开始已按照左边的值排序) {1,6,4,7,2,3,5}
- 第一轮,取互不冲突的段1,2,3,放行1
- 第二轮,取互不冲突的段6,7,5,放行2
- 第三轮,取互不冲突的段4,放行3
结果如下:
表示最少需要三行使得段之间两两不冲突。
对于所给的段,可以画出冲突图如下:
所谓冲突图(Conflict Graph)是一种用来表示资源分配冲突的图结构。它由两个部分组成:
- 节点: 节点代表需要分配的资源。
- 边: 边代表两个资源之间存在冲突,即它们不能同时分配给同一个请求。
每一行取一个颜色画到冲突图上:
表示冲突图最少需要3种颜色使得相邻颜色不相同