Algorithm-Left Edge算法

发布时间:2024年01月04日

算法输入:

  • 多个段,每个段由两个值表示,例如(1,3)

算法原理:

  1. 将多个段按照左边的值排序放到列表中
  2. 遍历列表,不断选择没有重叠的段,直到列表遍历结束,将选择的这些段放在同一行
  3. 增加行计数,重复第二步
    在这里插入图片描述

执行LE算法如下:

  1. 排序列表(这里一开始已按照左边的值排序) {1,6,4,7,2,3,5}
  2. 第一轮,取互不冲突的段1,2,3,放行1
  3. 第二轮,取互不冲突的段6,7,5,放行2
  4. 第三轮,取互不冲突的段4,放行3

结果如下:
在这里插入图片描述
表示最少需要三行使得段之间两两不冲突。

对于所给的段,可以画出冲突图如下:
在这里插入图片描述

所谓冲突图(Conflict Graph)是一种用来表示资源分配冲突的图结构。它由两个部分组成:

  • 节点: 节点代表需要分配的资源。
  • 边: 边代表两个资源之间存在冲突,即它们不能同时分配给同一个请求。

每一行取一个颜色画到冲突图上:
在这里插入图片描述
表示冲突图最少需要3种颜色使得相邻颜色不相同

文章来源:https://blog.csdn.net/mrbone11/article/details/135375359
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。