编写程序模拟工厂对这n个产品的处理过程,计算总加工时间。请回答下列问题:
def sort1(a,b): #参数 a、b 的元素分别表示每个产品在A、B车间的加工时长。
n=len(a)
for i in range(n-1):
for j in :
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
b[j],b[j+1]=b[j+1],b[j]
加框处可以填写的代码有______ (多选)
A. range(n-1-i) B. range(n-1,i,-1) C. range(i,n-1) D. range(n-2,i-1,-1)def sort2(a,b): #参数 a、b 的元素分别表示每个产品在 A、B 车间的加工时长。
n=len(a)
for i in range(1,n):
k1,k2=a[i],b[i]
j=i-1
while ① :
a[j+1],b[j+1]=a[j],b[j]
j-=1
a[j+1],b[j+1]=k1,k2
①此程序时间复杂度为 ② 。(单选, 填字母)
A. O(1) B.O(n) C.O(n2 ) D.O(nlog2 n)
②请在划线处填入合适的代码。
① ②
读取n个产品在A、B两车间加工的时间,根据题目要求分为两类,第一类产品在A、B两车间加工的时间分别存储在列表a1和列表b1中,并通过sort1()函数排序,第二类产品在A、B两车间加工的时间分别存储在列表a2和列表b2中,并通过sort2()函数排序, 代码略
a=a1+a2
b=b1+b2
n=len(a)
k,t=0,0 #k 为 A 加工时间,t 为 B 加工时间
for i in range(n):
k+=a[i]
if :
t=k
print("总加工时长最短为:",t)