假定有这样两个有序数组: L1:{a1,a2,....an} L2:{b1,b2,....bn}简单归并,就是逐个比对,没有跳跃优化(skip)的。最好的情况下,归并后的结果为{a1,a2,....an,b1,b2,...bn}或者{b1,b2,...bn,a1,a2...an}比较的次数显然为n次。(n/2+n/2) ,出现前者或者后者的概率均为1/2最坏的情况下,归并后的结果为{a1,b1,a2,b2....an,bn}或者{b1,a1,b2,a2,...bn,an}不妨考察前者,L1或L2中任意一个(除bn以外)要想确定自己的位置,必须进行一次比较,因此总的比较次数为2n-1.在考察平均情况:假定归并后的结果为{{b1,...br}{a1...an-1} || anbr+1...bn-1bn} -----------------------------阅读全文>
发表于 @ 2009年06月16日 17:47:00|评论(loading...)|编辑|举报|收藏