作业排序例题
- 格式:pptx
- 大小:171.33 KB
- 文档页数:33
第10章排序一、填空题1. 大多数排序算法都有两个基本的操作:和。
2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较次。
3. 在插入和选择排序中,若初始数据基本正序,则应选用排序算法;若初始数据基本反序,则应选用排序算法。
4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用;若初始记录基本无序,则最好选用。
5. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是。
若对其进行快速排序,在最坏的情况下所需要的时间是。
6. 对于n个记录的集合进行归并排序,所需要的平均时间是,所需要的附加空间是。
7.对于n个记录的表进行2路归并排序,整个归并排序需进行趟(遍)。
8. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则:冒泡排序一趟扫描的结果是;初始步长为4的希尔(shell)排序一趟的结果是;归并排序一趟扫描的结果是;快速排序一趟扫描的结果是;堆排序初始建堆的结果是。
9. 分别采用堆排序,快速排序,冒泡排序和归并排序,对初态为有序的表进行排序,则最省时间的是算法,最费时间的是算法。
10、对n个记录的表r[1..n]进行简单选择排序,所需进行的关键字间的比较次数为。
二、单项选择题1、下列四个序列中,()是堆。
A. 75,65,30,15,25,45,20,10B. 75,65,45,10,30,25,20,15C. 75,45,65,30,15,25,20,10D. 75,45,65,10,25,30,20,152.排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()A. 希尔排序B. 冒泡排序C. 插入排序D. 选择排序3.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为()A. 希尔排序B. 归并排序C. 插入排序D. 选择排序4.对n个不同的排序码进行冒泡排序,在下列()情况下比较的次数最多。
sjf算法例题详解(一)SJF算法例题1. 什么是SJF算法?•SJF算法(Shortest Job First,短作业优先算法)是一种操作系统调度算法。
•它的原则是按照作业的执行时间来进行调度,执行时间短的作业会被优先调度执行。
•SJF算法适用于一些具有明确执行时间的作业,能够提高作业的响应速度和系统的整体利用率。
2. SJF算法的例题考虑以下作业列表及其执行时间:作业列表:[A, B, C, D]执行时间:[5, 3, 8, 2]3. 算法过程按照SJF算法的原则,我们需要对作业列表进行排序,排序的依据是作业的执行时间。
排序后的作业列表如下:作业列表:[D, B, A, C]执行时间:[2, 3, 5, 8]4. 执行顺序根据排序后的作业列表,我们按照顺序执行作业。
执行顺序为:D -> B -> A -> C5. 算法优势SJF算法的优势在于能够减少作业的等待时间和响应时间,提高系统的整体效率。
6. 算法局限性SJF算法的局限性在于对作业的执行时间需求较高,如果无法准确估计作业的执行时间,可能会导致调度不准确。
7. 结论SJF算法是一种高效的操作系统调度算法,适用于有明确执行时间的作业。
它能够提高作业的响应速度和系统的整体利用率,但对作业的执行时间估计要求较高。
在实际应用中,可以根据任务的执行时间情况选择合适的调度算法以提高系统性能。
以上是对SJF算法例题的详细解释,希望能够对读者有所帮助。
SJF算法例题1. 什么是SJF算法?•SJF算法(Shortest Job First,短作业优先算法)是一种操作系统调度算法。
•它的原则是按照作业的执行时间来进行调度,执行时间短的作业会被优先调度执行。
•SJF算法适用于一些具有明确执行时间的作业,能够提高作业的响应速度和系统的整体利用率。
2. SJF算法的例题考虑以下作业列表及其执行时间:•作业列表:[A, B, C, D]•执行时间:[5, 3, 8, 2]3. 算法过程按照SJF算法的原则,我们需要对作业列表进行排序,排序的依据是作业的执行时间。