为什么对于SJF算法,先运行的是进程A而不是进程E呢,E的运行时间不是最短的吗

img


为什么对于SJF算法,先运行的是进程A而不是进程E呢,E的运行时间不是最短的吗?

兄弟,关键是进程的到达时间啊,你进程E是短,但是得等8才到达!所以先运行进程A

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/372993
  • 这篇博客你也可以参考下:C语言 操作系统实验 四种调度(最短优先算法SJF)
  • 除此之外, 这篇博客: 第十三届蓝桥杯大赛软件赛省赛(Java 大学C组)中的 试题 E: 矩形拼接 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    时间限制: 1.0s1.0\mathrm s1.0s 内存限制: 512.0MB512.0\mathrm{MB}512.0MB 本题总分:151515


    【问题描述】

      已知 333 个矩形的大小依次是 a1×b1a_1 × b_1a1×b1a2×b2a_2 × b_2a2×b2a3×b3a_3 × b_3a3×b3。用这 333 个矩形能拼出的所有多边形中,边数最少可以是多少?

      例如用 3×23 × 23×2 的矩形(用 A\mathrm AA 表示)、4×14 × 14×1 的矩形(用 B\mathrm BB 表示)和 2×42 × 42×4 的矩形(用 C\mathrm CC 表示)可以拼出如下 444 边形。

    请添加图片描述
      例如用 3×23 × 23×2 的矩形(用 A\mathrm AA 表示)、3×13 × 13×1 的矩形(用 B\mathrm BB 表示)和 1×11 × 11×1 的矩形(用 C\mathrm CC 表示)可以拼出如下 666 边形。

    请添加图片描述

    【输入格式】

      输入包含多组数据。

      第一行包含一个整数 TTT,代表数据组数。

      以下 TTT 行,每行包含 666 个整数 a1,b1,a2,b2,a3,b3a_1, b_1, a_2, b_2, a_3, b_3a1,b1,a2,b2,a3,b3,其中 a1,b1a_1, b_1a1,b1 是第一个矩形的边长,a2,b2a_2, b_2a2,b2 是第二个矩形的边长,a3,b3a_3, b_3a3,b3 是第三个矩形的边长。

    【输出格式】

      对于每组数据,输出一个整数代表答案。

    【样例输入】

    2
    2 3 4 1 2 4
    1 2 3 4 5 6
    

    【样例输出】

    4
    8
    

    【评测用例规模与约定】

      对于 10%10\%10% 的评测用例,1≤T≤5,1≤a1,b1,a2,b2,a3,b3≤10,a1=a2=a31 ≤ T ≤ 5,1 ≤ a_1, b_1, a_2, b_2, a_3, b_3 ≤ 10,a_1 = a_2 =a_31T51a1,b1,a2,b2,a3,b310a1=a2=a3
      对于 30%30\%30% 的评测用例,1≤T≤5,1≤a1,b1,a2,b2,a3,b3≤101 ≤ T ≤ 5,1 ≤ a_1, b_1, a_2, b_2, a_3, b_3 ≤ 101T51a1,b1,a2,b2,a3,b310
      对于 60%60\%60% 的评测用例,1≤T≤10,1≤a1,b1,a2,b2,a3,b3≤201 ≤ T ≤ 10,1 ≤ a_1, b_1, a_2, b_2, a_3, b_3 ≤ 201T101a1,b1,a2,b2,a3,b320
      对于所有评测用例,1≤T≤1000,1≤a1,b1,a2,b2,a3,b3≤1001 ≤ T ≤ 1000,1 ≤ a_1, b_1, a_2, b_2, a_3, b_3 ≤ 1001T10001a1,b1,a2,b2,a3,b3100



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^