算法导论 随记本1-4
原创
©著作权归作者所有:来自51CTO博客作者我想有个名字的原创作品,请联系作者获取转载授权,否则将追究法律责任
//插入排序 o(n^2) P10
for j=2 to A.length
key=A[j]
i=j-1
while i>0 && A[i]>key
A[i+1]=a[i]
i--
A[i+1]=key
//归并排序 o(nlgn) P17
merge(A,p,q,r)//合并 p~q q+1~r
{
n1=q-p+1
n2=r-q
for i=1 to n1
L[i]=A[p+i-1]
L[i+1]=INF
for i=1 to n2
R[i]=A[q+i]
R[i+1]=INF
i=j=1
for k=p to r
if L[i]<=R[j]
A[k]=L[i]
i++
else
A[k]=R[j]
j++
}
mergeSort(A,p,r)
{
if(p<r)
{
q=(p+r)/2
mergeSort(A,p,q)
mergeSort(A,q+1,r)
merge(A,p,q,r)
}
}
//算复杂度:代入法,递归树法,主方法
T(n)=aT(n/b)+f(n)
f(n)=o( nlogb(a) )取大的
f(n)=9T(n/3)+n f(n)=o (n^2)
//矩阵乘法
for i=1 to n
for j=1 to n
cij=0
for k=1 to n
cij=cij+aik+akj
//P43 递归分治的矩阵乘法