| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 591 人关注过本帖
标题:算法问题2
只看楼主 加入收藏
jtws3000
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2006-11-3
收藏
 问题点数:0 回复次数:0 
算法问题2

尽管合并排序的最坏情况运行时间为O(nlgn),插入排序的最坏情况是O(n2),但插入排序中的常数因子使得它在n较小时,运行的更快一些。因此,在合并排序算法中,当子问题足够小时,采用插入排序就比较合适了。考虑对合并排序做这样的修改,即采用插入排序策略,对n/k个长度为k的子列表进行排序,然后,再用标准的合并机制将它们合并起来,此处k是一个待定的值。
A.证明在最坏情况下,n/k个子列表(每一个子列表的长度为k)可以用插入排序在O(nk)时间内完成。
B.证明这些子列表可以在O(nlg(n/k))最坏情况时间内合并完成。
C.如果已知修改后的合并排序算法的最坏情况运行时间为O(nk+nlg(n/k)),要使修改后的算法具有与标准合并算法一样的渐近运行时间,k的最大渐近值(即大O形式)是什么?
D.在实践中,k的值应该如何选取?

AB两个问题我会,但是CD就没有什么思路了。

搜索更多相关主题的帖子: 算法 
2007-02-12 11:37
快速回复:算法问题2
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052529 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved