算法导论思考题

2-1 在归并排序中对小数组采用插入排序

c. 假定修改后的算法的最坏情况运行时间为 Θ \Theta Θ(nk+nlg(n/k)),要使修改后的算法与标准的归并排序具有相同的运行时间,作为n的一个函数,借助 Θ \Theta Θ记号,k的最大值是什么?

假定k= Θ \Theta Θ(lg n), Θ ( n k + n l g ( n / k ) ) = Θ ( n k + n lg ⁡ n − n lg ⁡ k ) = Θ ( n lg ⁡ n + n lg ⁡ n − n lg ⁡ ( lg ⁡ n ) ) = Θ ( 2 n lg ⁡ n − n lg ⁡ ( lg ⁡ n ) ) \begin{aligned}\Theta(nk+nlg(n/k))&=\Theta(nk+n\lg n-n\lg k)\\ &=\Theta(n\lg n+n\lg n-n\lg (\lg n))\\ &=\Theta(2n\lg n-n\lg (\lg n)) \end{aligned} Θ(nk+nlg(n/k))=Θ(nk+nlgn−nlgk)=Θ(nlgn+nlgn−nlg(lgn))=Θ(2nlgn−nlg(lgn))

当n趋近于无穷大时,lg n的增长速度远快于lg(lg n),所以后者可忽略,上式写为 Θ \Theta Θ(nlg n)

2-2

BUBBLESORT(A)

1 for i=1 to A.len-1

2 \quad for j=A.len downto i+1

3 \qquad

相关推荐
sin_hielo17 小时前
leetcode 2435
数据结构·算法·leetcode
crescent_悦18 小时前
PTA L1-020 帅到没朋友 C++
数据结构·c++·算法
鳄鱼儿18 小时前
密码算法的OID查阅
算法
lxh011318 小时前
螺旋数组题解
前端·算法·js
czlczl2002092519 小时前
算法:二叉树的公共祖先
算法
小白程序员成长日记20 小时前
2025.11.23 力扣每日一题
算法·leetcode·职场和发展
16_one21 小时前
autoDL安装Open-WebUi+Rag本地知识库问答+Function Calling
人工智能·后端·算法
散峰而望1 天前
C++数组(三)(算法竞赛)
开发语言·c++·算法·github
q***95221 天前
SpringMVC 请求参数接收
前端·javascript·算法
初级炼丹师(爱说实话版)1 天前
多进程与多线程的优缺点及适用场景总结
算法