《计算机算法基础》课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机算法分析—习题课
第四章:2 、3、5、6、10、11、23
P99-2
在下列情况下求解4.1节的递归关系式T(n)= ()2(/2) () gnnTnfn⎧⎨⎩足够小+否则当①g(n)=O(1)和f(n)=O(n);②g(n)=O(1)和f(n)=O(1)。P99-2递推表达式
设n=2k则:
T(n)=T(2k)=2T(2k-1)+f(2k)
=2(2 T(2k-2)+f(2k-1)) +f(2k)
=22T(2k-2)+21f(2k-1)+ f(2k)
=…………
=2kT(1)+2k-1f(2)+2k-2f(22)+…+20f(2k)
=2kg(n)+ 2k-1f(2)+2k-2f(22)+…+20f(2k)
g(n)=O(1)和f(n)=O(n)
当g(n)=O(1)和f(n)=O(n)时
不妨设g(n)=a,f(n)=bn,则:
T(n)=T(2k)
= 2ka+ 2k-1*2b+2k-2*22b+…+20*2kb
=2ka+kb2k
=an+bnlog2n=O(nlog2n)
g(n)=O(1)和f(n)=O(1)
当g(n)=O(1)和f(n)=O(1)时,
不妨设g(n)=c,f(n)=d,则:
T(n)=T(2k)
=c2k+2k-1d+2k-2d+ (20)
=c2k+d(2k-1)
=(c+d) n-d=O(n)
P99-3
根据2.2节开始所给出的二分检索策略,写一个二分检索的递归过程。Procedure BINSRCH(A, low, high, x, j)
integer mid
if low≤highthen
mid←⎣(low+high)/2 ⎦
if x=A(mid) then
j←mid;
endif
if x>A(mid) then
BINSRCH(A, mid+1, high, x, j);
endif