排序算法中平均时间复杂度_操作系统中的作业排序(算法,时间复杂度和示例)...

排序算法中平均时间复杂度

作业排序 (Job sequencing)

Job sequencing is the set of jobs, associated with the job i where deadline di >= 0 and profit pi > 0. For any job i the profit is earned if and only if the job is completed by its deadline. To complete a job, one has to process the job on a machine for one unit of time. Only one machine is available for processing the jobs.

作业排序是与作业i相关联的一组作业,其中期限di> = 0且利润pi> 0 。 对于任何工作, 我当且仅当作业被其限期完成利润赚。 为了完成一项工作,必须在一台机器上在一个单位时间内处理该工作。 仅一台机器可用于处理作业。

Steps for performing job sequencing with deadline using greedy approach is as follows:

使用贪婪方法在截止日期之前执行作业排序的步骤如下:

  1. Sort all the jobs based on the profit in an increasing order.

    根据利润按升序对所有作业进行排序。

  2. Let α be the maximum deadline that will define the size of array.

    令α为将定义数组大小的最大截止日期。

  3. Create a solution array S with d slots.

    创建具有d个插槽的解决方案数组S。

  4. Initialize the content of array S with zero.

    用零初始化数组S的内容。

  5. Check for all jobs.

    检查所有作业。

    1. If scheduling is possible a lot ith slot of array s to job i.
    2. 如果调度是可能很多我阵列的时隙s到工作我 。
    3. Otherwise look for location (i-1), (i-2)...1.
    4. 否则寻找位置(i-1),(i-2)... 1 。
    5. Schedule the job if possible else reject.
  6. Return array S as the answer.

    返回数组S作为答案。

  7. End.

    结束。

作业排序算法 (Algorithm for job sequencing)

Input: A is the array of jobs with deadline and profit S array will be the output.

输入: A是具有截止日期的职位数组,而利润S数组将是输出。

    1. Begin
2. Sort all the jobs based on profit Pi so
3. P1 > P2 > P3 …………………………….>=Pn
4. d = maximum deadline of job in A
5. Create array S[1,…………………,d]
6. For i=1 to n do
7. Find the largest job x
8. For j=i to 1
9. If ((S[j] = 0) and (x deadline<= d))
10. Then 
11. S[x] = i;
12. Break;
13. End if
14. End for
15. End for
16. End

时间复杂度 (Time complexity)

Job sequencing problems has the time complexity of O(n2).

作业排序问题的时间复杂度为O(n2)。

Example:

例:

Given a set of 9 jobs where each job has a deadline and profit associated to it .Each job takes 1 unit of time to complete and only one job can be scheduled at a time. We earn the profit if and only if the job is completed by its deadline. The task is to find the maximum profit and the number of jobs done.

给定一组9个工作,每个工作都有一个截止日期和与之相关的利润。每个工作需要1个时间单位才能完成,并且一次只能安排一个工作。 当且仅当工作在截止日期之前完成时,我们才能赚取利润。 任务是找到最大的利润和完成的工作数量。

    Jobs	 Profit	  Deadline
J1	        85	        5
J2	        25	        4
J3	        16	        3
J4	        40	        3
J5	        55	        4
J6	        19	        5
J7	        92	        2
J8	        80	        3
J9	        15	        7

Step 1:

第1步:

job sequencing 1

Step 2:

第2步:

job sequencing 2

Step 3:

第三步:

job sequencing 3

Step 4:

第4步:

job sequencing 4

Step 5:

步骤5:

job sequencing 5

Step 6:

步骤6:

job sequencing 6

So, the maximum profit = 40 + 92 + 80 + 55 + 85 + 15 = 367

因此,最大利润= 40 + 92 + 80 + 55 + 85 + 15 = 367

翻译自: https://www.includehelp.com/operating-systems/job-sequencing.aspx

排序算法中平均时间复杂度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python---文件处理

0x01 打开一个文件 python中内置了文件对象&#xff0c;通过open()函数就可以制定模式打开指定文件&#xff0c;并创建文件对象。该函数的格式如下&#xff1a; open(file[,moder[,buffering-1]])file&#xff1a;指定要打开或创建的文件名称&#xff0c;如果该文件不存在当前…

简易而又灵活的Javascript拖拽框架(四)

一、开篇 似乎拖拽已经被写烂了&#xff0c;没得写的了&#xff0c;可是我这次又来了&#xff5e; 上一次写的是跨列拖放&#xff0c;这次我要带给大家的是跨页拖放。 可以到这里来看看效果&#xff1a;示例效果 说明&#xff1a;1、如果将方框拖动到页签上立刻释放掉的话&…

Java——集合的基本功能测试

* 1,boolean add<E,e> 添加* 确保此 collection 包含指定的元素&#xff08;可选操作&#xff09;。* 参数&#xff1a;e - 确定此 collection 中是否存在的元素。E - 代表Object类&#xff0c;说明该add可以添加任何对象&#xff0c;任意对象都是Object的子类对象&…

《那些年啊,那些事——一个程序员的奋斗史》——78

招人风波之后&#xff0c;就很少见武总往18楼跑了&#xff0c;大部分时间都是坐在22楼的隔间。而武总对段伏枥的抱怨&#xff0c;也仅仅只有那次&#xff0c;后来就再也没有提过。对于段伏枥而言&#xff0c;还要不要招新人&#xff0c;后续如何去招新人&#xff0c;已经不是自…

python---异常处理结构

python中提供了很多不同形式的异常处理结构&#xff0c;其基本思路都是先尝试执行代码&#xff0c;再处理可能发生的错误。 try…except… 在python异常处理结构中&#xff0c;try…except…使用最为频繁&#xff0c;其中try子句中的代码块为可能引发异常的语句&#xff0c;e…

用css网站布局之十步实录 (转载)

第一步&#xff1a;规划网站http://www.52css.com/article.asp?id175 第二步&#xff1a;创建html模板及文件目录等http://www.52css.com/article.asp?id176 第三步&#xff1a;将网站分为五个div 网页基本布局http://www.52css.com/article.asp?id177 第四步&#xff1a;网…

Java——集合转数组并对其进行遍历

* A&#xff1a;集合的遍历* 其实就是以此获取集合中的每一个元素* B&#xff1a;案例* 把集合转成数组&#xff0c;可以实现集合的遍历* public Object[] toArray() 按适当顺序&#xff08;从第一个到最后一个元素&#xff09;返回包含此列表中所有元素的数组。…

鱼油账号记录程序(续) - 零基础入门学习Delphi39

鱼油账号记录程序&#xff08;续&#xff09; 让编程改变世界 Change the world by program 课件同上一讲&#xff0c;这一讲主要演示编程操作和修改程序&#xff01; [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink hrefhttp://kuai.xunlei.com/d/LDKX…

python---Socket编程

Sockte是计算机之间进行网络通信的一套程序接口&#xff0c;相当于在发送端和接收端之间建立一个通信管道。在实际应用中&#xff0c;一些远程管理软件和网络安全软件大多数依赖于Socket来实现特定功能&#xff0c;由于TCP方式在网络编程中应用非常频繁&#xff0c;此处将对TCP…

格式转换-----PDF格式研究笔记(一)

格式转换-----PDF格式研究笔记&#xff08;一&#xff09; 现在我的几个计划都需要我能够对PDF格式进行解码&#xff0c;所以找了一下资料&#xff0c;找到了一个PDF1.3的手册&#xff0c;特放出下载&#xff0c;如果谁有更高版本的&#xff0c;请给我一份&#xff0c;谢谢。 …

(X)HTML嵌套规则

本文整理于互联网~ 简单认识了块元素和内嵌元素以后&#xff0c;下面就可以罗列 XHTML 标签的嵌套规则了&#xff1a; 1. 块元素可以包含内联元素或某些块元素&#xff0c;但内联元素却不能包含块元素&#xff0c;它只能包含其它的内联元素&#xff1a;<div><h1>&…

Java——集合带All的功能演示

package com.wsq.collection;import java.util.ArrayList; import java.util.Collection; public class Demo4_CollectionAll {public static void main(String[] args) {demo1(); //c1.addAll(c2);将c2整个集合给添加到c1中,即&#xff0c;c2集合中的每…

ASP.NET Web API 处理架构

这篇文章主要是介绍ASP.NET Web API的处理架构&#xff1a;当一个HTTP请求到达直到产生一个请求的过程。ASP.NET Web API 的处理架构图如下&#xff0c;主要有三层组成&#xff1a;宿主&#xff08;hosting&#xff09;&#xff0c;消息处理管道&#xff08;message handler pi…

python---可执行文件的转换

pyinstaller是常见的执行文件打包工具。该工具的安装方式非常简单&#xff0c;可运行在windows、MacOS X和GNU/Linux操作系统环境中&#xff0c;执行python2和python3。 用pyinstaller打包的执行文件&#xff0c;只能在于执行打包操作的系统类型相同的环境下运行。也就是说&…

Java——集合的遍历之迭代遍历

这些是下面的代码中所涉及到的所有方法&#xff1a;* 迭代概述:* 集合是用来存储元素&#xff0c;存储的元素需要查看&#xff0c;那么就需要迭代(遍历)* 也就是说&#xff0c;迭代就是遍历* * public interface Iterator<E> 对 collection 进行迭代的迭代器* …

数组排序最小复杂度_进行排序的最小缺失数

数组排序最小复杂度Problem statement: 问题陈述&#xff1a; Given an array of n integers. Find the minimum number of elements from the array to remove or delete so that when the remaining elements are placed in the same sequence order form a sorted sequence…

轻松掌握Windows窗体间的数据交互(转载)

轻松掌握Windows窗体间的数据交互作者&#xff1a;郑佐日期&#xff1a;2004-04-05Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集&#xff0c;它使您得以开发丰富的 Windows 应用程序…

MATLAB安装问题解决方案大集锦

我的安装后的两个问题 第一个&#xff1a;“Microsoft Visual C Runtime LibraryRuntime Error!Program:C:\Matlab7\Rin\Win32\Matlab.exeThis application has requested the runtime to terminate it in an unusual way.Please contact the applications support team for mo…

python免杀技术---shellcode的加载与执行

0x01 生成shellcode 首先通过下列命令生成一个shellcode&#xff0c;使用msfvenom -p选项来指定paylaod&#xff0c;这里选用windows/x64、exec模块接收的参数。使用calc.exe执行弹出计算器的操作。-f选项用来执行生成的shellcdoe的编译语言。 msfvenom -p windows/x64/exec …

成对的歌曲,其总持续时间可被60整除

Problem statement: 问题陈述&#xff1a; In a list of songs, the i-th song has duration of time[i] seconds. Return the number of pairs of songs for which their total duration in seconds is divisible by 60. Formally, we want the number of indices i < j w…