| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 897 人关注过本帖
标题:两个算法题 半天没弄出个头绪 大家看下
只看楼主 加入收藏
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
结帖率:97.44%
收藏
已结贴  问题点数:40 回复次数:15 
两个算法题 半天没弄出个头绪 大家看下
图片附件: 游客没有浏览图片的权限,请 登录注册

4、T(n)=4T(n/4)+2T(n/4)+n T(n)=
2012-11-14 17:41
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
收藏
得分:0 
PS:第四题 写错了
T(n)=T(n/2)+T(n/4)+n T(n)=?
2012-11-14 17:47
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:40 
回复 2楼 世界模型
3有空间限制么
2012-11-15 08:52
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
收藏
得分:0 
回复 3楼 寒风中的细雨
O(log2(n))
2012-11-15 12:15
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
反向图   调换一下结点的下标值  不能解决么v1-->v2                    v2-->v1
2012-11-15 15:12
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
数组X             ------------------------------------  a   
                                                        ^

数组Y             ------------------------------------  b
                                                        ^


a、b分别为两数字的最小值 下标   假设排序是从小到大的

counter = 0; 计数器
a = 0;
b = 0;

while (counter < n)
{
    if (X[a] > X[b])
    {
       //丢弃b下标
       ++b;
    }
    else
    {
       //丢弃a下标
       ++a;
    }
    ++counter;//计数器+1
}
2012-11-15 16:16
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
回复 6楼 寒风中的细雨
6楼的时间复杂度  0(n)

如果需要达到  0(logn)的复杂度    里面的计数器就需要换个增长方式
2012-11-15 16:18
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
如果 计数器的增长方式  可以替换上:  counter *= 2               时间复杂度 就可以满足  0(logn)的要求
2012-11-15 16:19
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
这里你可以借鉴下折半 查找的思路去修改    应该只要稍加修改就出来了
2012-11-15 16:21
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
收藏
得分:0 
回复 9楼 寒风中的细雨
恩 折半 豁然开朗啊
思想:
设a、b为数组X、Y的中位数
1、a=b a或b即为所求
2、a<b 舍去X中较小的一半,同时舍去Y中较大的一半 两次舍去长度相同
3、a>b 舍去X中较大的一半,同时舍去Y中较小的一半 两次舍去长度相同

重复过程 1、2、3直到两个序列中均含一个元素为止 较小者即为所求中位数
2012-11-16 16:04
快速回复:两个算法题 半天没弄出个头绪 大家看下
数据加载中...
 
   



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

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