归并排序算法.docx

归并排序算法

算法导论第一次上机报告班级:1403018 姓名:张可心学号:14030188030(一)题目一一、问题Design a Θ(n lg n)-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x.二、问题分析集合S中有n个整数,给定一个整数x,设计一个算法,求出S中是否有两个元素相加之和为x。首先采用归并排序算法,复杂度为nlg n。再设计算法进行查找。三、算法伪代码merge(A,beg1,mid,end1)n1=mid-beg1+1n2=end1-midlet A1[1..n1+1]andA2[1..n2+1]be new arraysfor i=1 to n1 A1[i]=A[beg1+i-1]for j=1to n2 A2[j]=A[mid+j]A1[n1+1]=∞A2[n2+1]=∞i=1j=1for k=beg1 to end1 if A1[i]≤A2[j]A[k]=A1[i]i=i+1else A[k]=A2[j]j=j+1merge_sort( A, beg1,end1)ifbeg1end1 mid=(beg1

文档评论(0)

1亿VIP精品文档

相关文档