编程题

下面的程序运用分治算法寻找列表中的最大值。请将空格补全代码。

#子问题规模小于或等于2时

def zui_da_zhi(a_list):

if???①???:

if a_list[0]>=a_list[1]:

most=a_list[0]

else:

most=a_list[1]

else:

most=a_list[0]

return most

# 分治算法排序

def fen_zhi(init_list):

n=len(init_list)

if n<=2: #若问题规模小于或等于2,解决

return zui_da_zhi(init_list)

#分解(子问题规模为n/2)

left_list,right_list=???②???

#递归,分治

left_max,right_max=???③???

#合并

return zui_da_zhi([left_max,right_max])


#测试数据

test_data=https://tiku.scratchor.com/paper/question_answer/[12,25,4,47,69,5,4,6,37,89,21]

print('最大值为:',fen_zhi(test_data))

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论