算法导论 4.1-5

来源:互联网 发布:淘宝动漫周边店成本 编辑:程序博客网 时间:2024/05/01 04:30

问题

证明的解为O(nlgn)

分析

证明:假设T(n)=O(nlgn),带入T(n)中可得

所以T(n)<=2c(n/2+17)lg(n/2+17)+n=cnlg(n+34)+34clg(n+34)-cn-34c+n
显然这个不等式不能证明假设,我们调整假设为T(n)=O(nlg(n-34))
根据假设得 T(n)<=2c(n/2+17)lg((n-34)/2)+n=cnlg(n-34)+34clg(n-34)-cn-34c+n<=cnlg(n-34)-[(c-1)n-68clgn]
因为多项式函数比指数函数增长的快,所以(c-1)n-68clgn >= 0,所以T(n)<=cnlg(n-34), 即 T(n)=O(nlg(n-34))
又因为nlg(n-34)<nlgn,所以nlg(n-34)=O(nlgn),根据传递性得T(n)=O(nlgn)
原创粉丝点击