2-1

来源:互联网 发布:python 防止sql注入 编辑:程序博客网 时间:2024/06/09 17:39

问题a:
对于长度为k的数组插入排序,时间复杂度为Θ(k2),n/k个数组的复杂度为Θ(n/kk2)=θ(nk)
问题b:
递归树的层数为Θ(lg(n/k)),每一次合并代价均为Θ(n)(与标准merge没区别)故复杂度为Θ(nlg(n/k))
问题c:
Θ(nk+nlg(n/k))=Θ(nlgn+n(klgk))
由于k和lgk中,lgk量级很小,所以不会产生影响,故Θ(nlgn+n(klgk))Θ(nlgn+nk)
故k最大量级为Θ(lgn)
问题d:
测试代码是xcode写的
测试两百万数据排序,按最坏情况测试
个人感觉k取2的整数次幂会比较好
实测k=8感觉比较好

0 0
原创粉丝点击