专题18 基于数据结构的算法实现 课件 2025届高中信息技术.pptxVIP

  • 3
  • 0
  • 约9千字
  • 约 159页
  • 2024-12-30 发布于浙江
  • 举报

专题18 基于数据结构的算法实现 课件 2025届高中信息技术.pptx

第一部分信息与信息系统;1.掌握队列中元素入队和出队的条件;

2.掌握链表的构建方法.;;;队列是线性结构的一种,因此也可以用链式结构的方式来实现。并且链式结构的队列,由于节点空间都是在入队的时候动态申请的,因此在计算机内存空间足够的情况下,一般不需要考虑队满的情况,也就不存在溢出的情况,所以不需要使用循环链式队列来处理假溢出的情况。链式队列在链表的链尾插入元素,然后让队尾指针指向链尾元素。链式队列的出队,就是将链表的首元节点从链表中删去,让其后继节点成为首元节点,然后让队头指针指向该节点。;;(2024年1月浙江省选考)某项活动有n个单位(编号1到n)参加,需将员工分成若干个小组,每个小组的人数上限为m,小组编号按新建次序从1开始编号。分组时,首先按单位编号次序依次在各单位内部分分组,每m人分配到一个新建小组中,不足m人的剩余员工暂不分配;然后按剩余员工人数由大到小的顺序,依次为各单位剩余员工分配小组。

若某单位剩余员工人数为k,则分配方法为:在已建的小组中查找空位数(该小组还可容纳的人数)大于或等于k的小组,如果找到的小组有多个,则选择空位数最少的小组,将此k人分配到该小组中;如果没有找到,则新建一个小组,将此k人分配到该小组中。;设n为5,m为20,各单位员工人数及单位内部的分组过程如图a所示,各单位剩余员工的分组过程如图b所示。;编写程序:给定各单位编号及员工人数,根据上述方法进行分组处理,按单位编号次序输出各单位所分配的分组编号。请回答下列问题:

(1)由题意可知,若仅将图a中1号单位的员工人数修改为25,然后对图中5个单位重新分组,则1号单位所分配的分组编号为________。

(2)定义如下bubble_sort(lst)函数,参数lst的每个元素由单位编号和剩余员工人数2个数据项组成。函数的功能是根据每个单位的剩余员工人数,对lst进行降序排序。;return

调用该函数,若lst为[[1,0],[2,0],[3,18],[4,0],[5,19],[6,17]],请回答①和②两个问题。

①虚线框中的程序段第1次执行后,关于lst中的剩余员工人数,下列说法正确的是________(单选,填字母)。

A.lst[0][1]数值最?? B.lst[0][1]数值最大

C.lst[5][1]数值最小 D.lst[5][1]数值最大

②虚线框中的程序段执行的次数为________。;(3)实现分组功能的部分Python程序如下,程序中用到的列表函数与方法如图c所示,请在程序中划线处填入合适的代码。;读取小组人数上限存入m;读取1至n号单位的数据,依次存入列表data的data[0]至data[n-1]中。data[i]包含2个数据项,data[i][0],data[i][1]分别存放单位编号及员工人数,代码略

group(data,m); ;;重难点1构建链表建立索引关系;例题有2组器件共n个,要用一台检测设备检测。每个送检器件的信息包含送达时间、检测时长和优先级。优先级有m(1m6)个等级,由高到低分别用0~m-1的整数表示。每个器件的送达时间各不相同。已送达的器件按照各优先级通道分别排队,先到达先入队。设备每次检测都从当前各非空队列中,选取优先级最高的队列的队首器件出队进行检测。(同一时刻出现入队和出队时,先处理入队。)

编写程序模拟检测过程,先合并2组器件的数据,然后计算所有器件的平均等待时长,其中每个器件等待时长为其开始检测的时间与送达时间的时间差。(时间单位均为秒);请回答下列问题:; ; ;变式某工程包含n个任务(编号为0~n-1),每天可以有多个任务同时进行。某些任务之间有依赖关系,如图a所示,任务4依赖于任务1,任务1依赖于任务2。即任务2完成后才可以开始任务1,任务1完成后才可以开始任务4。不存在一个任务依赖于多个任务,或多个任务依赖于同一个任务的情况。现已对该工程的依赖关系进行了梳理,结果如图b所示,标记“T”表示依赖关系需保留,标记“F”表示依赖关系需删除。

根据每个任务完成所需的天数和梳理后的依赖关系,编写程序,首先删除标记为“F”的依赖关系,然后计算工程最快完成所需的天数,并以工程最快完成所需的天数为期限,计算每个任务最晚必须开始的时间。;答案(1)8(2)1(3)①range(m)或range(0,m)或range(0,m,1)或range(m-1,-1,-1)或range(erase(lst))或range(0,erase(lst))或range(0,erase(lst),1)或range(erase(lst)-1,-1,-1)②k=task[k][1]③w[k]=w[task[k][1]]-task[k][0]或w[k]=w

文档评论(0)

1亿VIP精品文档

相关文档