| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1056 人关注过本帖
标题:求一分治算法
只看楼主 加入收藏
ooooo
Rank: 1
等 级:新手上路
威 望:1
帖 子:135
专家分:0
注 册:2005-6-24
收藏
 问题点数:0 回复次数:7 
求一分治算法
一个整形数组有17个元素
找出这个数组的最大元素和次大元素
搜索更多相关主题的帖子: 算法 整形 分治 元素 
2006-05-28 09:20
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
办法1:在各种排序算法中选一种对数组进行排序,然后输出最大值和次大值.
办法2:用指针遍历一遍找到最大值,然后再遍历剩下的元素找到次大值.
办法3:一次性输出最大值和次大值,参看下面的帖子
http://www.bc-cn.net/bbs/dispbbs.asp?boardID=5&ID=66853&page=3

办法4(推荐,效率最高的算法):用锦标赛排序法(树形选择排序法)进行排序,找到最大值和次大值;或是用其改进算法堆排序进行排序.

我的征途是星辰大海
2006-05-28 11:09
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

对不礼貌的女生收钱......
2006-05-28 11:33
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
收藏
得分:0 
楼上大哥,你那次写的有点乱啊,看的我头都晕了,现在还没很明白呢!

能不能发个不用指针的,或少用指针!!

奋斗改变一切!!
2006-05-28 12:44
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

#include "stdio.h"
#include "conio.h"
void maxmin(int a[],int n,int *max,int *min)
{
int a1[5],a2[5];
int i,j,k=0;
int max1,max2,min1,min2;
if(n==1)
*max=*min=a[0];
else if(n==2)
{
if(a[0]>a[1])
{
*max=a[0];
*min=a[1];
}
else
{
*max=a[1];
*min=a[0];
}
}
else
{
for(i=0;i<n/2;i++)
a1[i]=a[i];
for(j=i;j<n;j++)
a2[k++]=a[j];
maxmin(a1,n/2,&max1,&min1);
maxmin(a2,(n-n/2),&max2,&min2);
if (max1 > max2)
*max = max1;
else
*max = max2;
if (min1 > min2)
*min = min2;
else
*min = min1;
}

}
main()
{
int a[10]={1,12,21,4,57,78,95,43,100,23};
int max,min;
maxmin(a,10,&max,&min);
printf("%d %d",max,min);
getch();
}


对不礼貌的女生收钱......
2006-05-29 16:42
ooooo
Rank: 1
等 级:新手上路
威 望:1
帖 子:135
专家分:0
注 册:2005-6-24
收藏
得分:0 
perfect 3q

2006-05-29 17:18
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
收藏
得分:0 

谢谢!


奋斗改变一切!!
2006-05-29 20:04
smallmass
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-10-26
收藏
得分:0 
2010-10-26 11:37
快速回复:求一分治算法
数据加载中...
 
   



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

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