在归并排序(合并排序)中的小数组使用插入排序

长度为n,分为n/k个小数组,每个长度为k

问K取何值时能使效率最高

易得O(n)=nk+nlg(n/k)

nk是n/k个小数组进行插入排序k×k,得nk

nlg(n/k)是n/k个数组进行归并需要lg(n/k)次合并,每次代价为n的

答案

应为lgn

O(n)=nk+nlgn-nlgk

若k>lgn,则前半部分大于归并排序时间复杂度,,故K最大为lgn。

取最大值时应为最优

 

转载于:https://www.cnblogs.com/kangyun/p/4335483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值