第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python調(diào)度算法

Python調(diào)度算法

阿晨1998 2021-10-19 10:38:42
我正在編寫一個用于測試目的的調(diào)度算法,并遵循“算法簡介”一書,但這是我所能得到的。截至目前,這項工作正在“某處無休止的循環(huán)”中消亡。一般來說,算法應(yīng)該有利潤,我們根據(jù)利潤對所有其他數(shù)組進(jìn)行排序“但我現(xiàn)在只是忽略它”并且我的輸入已經(jīng)排序。因此,截止日期和通過的工作已經(jīng)排序。需要一些幫助,因為它仍然無法正常工作。#!/usr/bin/python3.6class Scheduling:  def schedule(self, n, deadline, jobs):    self.fdeadline = deadline    self.J = []    self.J.append(jobs[0])    self.i = 1    while self.i <= n:      self.K = self.J.copy()       self.K.append(jobs[self.i])       self.i = self.i + 1      if self.feasible(self.K, self.fdeadline) == True :        self.J = self.K    return self.J    def feasible(self, K, fdl):    self.tmp = K    self.isFeasible = True    self.i = 0    self.j = 1    self.k = 0     while self.i < len(self.tmp):      while self.j < len(self.tmp):        self.index1 = self.i        self.index2 = self.j        if (fdl[self.index1] > fdl[self.index2]):          self.tmp[i], self.tmp[j]  =  self.tmp[j], self.tmp[i]      while self.k < len(self.tmp):       self.job  = self.tmp[self.k]       if (fdl[self.job] < k + 1):         isFeasible = False         break    return isFeasible def main():   sins = Scheduling()   n = 4   deadline = [1,1,2,2]   jobs = [4, 2, 1, 3]   sjobs = sins.schedule(n, deadline, jobs)   print (sjobs)  if __name__ == "__main__":  main()
查看完整描述

2 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗 獲得超10個贊

首先了解selfpython。

其次了解作業(yè)排序問題。

然后看下面的代碼

class Scheduling:


  def schedule(self, n, deadline, jobs):

    # max number of jobs you can schedule is the max deadline available.

    filledJobs = ['dummy']*max(deadline);

    i = 0

    # start assigning the jobs in a greeedy way

    while i < n:

        job = jobs[i]

        j = deadline[i]

        # assign the job from the last deadline

        while j > 0:

            if(filledJobs[j-1] == 'dummy'):

                filledJobs[j-1] = job

                break

            j = j - 1

        i = i + 1


    return filledJobs


def main():

   sins = Scheduling()

   n = 4

   deadline = [1,1,2,2]

   # assuming jobs are sorted w.r.t  profits

   # I represented the jobs with string to be clear

   jobs = ['a', 'b', 'c', 'd']


   sjobs = sins.schedule(n, deadline, jobs)

   print (sjobs)  


if __name__ == "__main__":

  main()


查看完整回答
反對 回復(fù) 2021-10-19
  • 2 回答
  • 0 關(guān)注
  • 275 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號