- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
寻找多数元素(Majority)(算法设计大作业)
算法设计分析与技巧
大作业
问题描述:
令A【1…n】是一个整形序列,A中的整数a如果在A中出现的次数多于n/2,那么称a为多数元素。试定义数组长度,从键盘随机输入n个数,设计算法寻找多数元素,若从在则输出,否则输出none.
算法设计:
MOJORITY
输入:n个元素的数组A【1…n】
输出:若存在多数元素则输出;否则输出none.
1.c=candidate(1)
2.count=0
3.forj=1ton
4 ifA[j]=c then count=count+1
5.end for
6.if countn/2 then return c
7.else return none
过程 candidate(m)
1.j=m;c=A[m];count=1
2.while jn and count0
3. j=j+1
4.if A[j]=c then count=count+1
5.else count=count-1
6 end for
7 if j=n then return c
8 else return candidate(j+1)
程序求解:
#includestdio.h
#includemalloc.h
#includestdlib.h
int candidate(int m,int*a,int n);
int main()
{
int count=0,n,c;
int *a;
printf(请输入n\n);
scanf(%d,n);
printf(请输入数组\n);
a=(int*)malloc (sizeof(int)*n);
for(int i=0;in;i++)
scanf(%d,a[i]);
c=candidate(0,a,n);
for(int j=0;jn;j++)
{
if (a[j]==c)
count=count+1;
}
if(countn/2 )
printf(%d,c);
else
printf(none);
getchar();
getchar();
system(pause);
return 0;
}
int candidate(int m,int*a,int n)
{
int j,count,c;
j=m;
c=a[m];
count=1;
while(jn-1count0)
{
j=j+1;
if(a[j]==c)
count=count+1;
else
count=count-1;
}
if(j==n-1)
return c;
else
return candidate(j+1,a,n);
}
递归调用具体过程:
C=candidate(0)
Cadidate(0)
j=0 ;c=A[0];count=1
j=1
A[1]!=A[0] count=0
j!=n
Cadidate(2)
j=2 ;c=A[2];count=1
j=3
A[3]!=A[2] count=0
j!=n
Cadidate(4)
j=4;c=A[4];count=1
j=5
A[5]!=A[4] count=0
j!=n
Cadidate(6)
j=6;c=A[6];count=1
return c=A[6]
您可能关注的文档
- 发电机标准1800W.doc
- 发电机短路空载和假同期方案.doc
- 发电机设备全寿命设计的周期成本分析和研究.doc
- 发电车操作及故障处理.doc
- 发电机运行及事故处理1.doc
- 发行上市及并购重组重大问题汇总.doc
- 发电运行试题.doc
- 发行上市经验介绍.doc
- 发行模拟1.doc
- 发行模拟题二.doc
- 2025年陕西省安康市国家公务员公共基础知识模拟考试含答案.docx
- 2025年陕西省商洛市国家公务员公共基础知识真题含答案.docx
- 2025年河北省衡水市普通高校对口单招综合素质自考预测试题(含答案).docx
- 2025年广东省惠州市国家公务员公共基础知识真题含答案.docx
- 2024年最新辅警招聘考试题库和答案(通用版).docx
- 2025年事业单位考试公共基础知识模拟考试冲刺卷含答案.docx
- 2025年军队文职人员社会公开招考笔试《英语语言文学》考前模拟题.docx
- 事业单位招聘考试公共基础知识仿真模拟试卷及答案.docx
- 2025年公务员考试公共基础知识试题库及答案.docx
- 2025年四川省泸州事业单位考试模拟冲刺考卷含答案.docx
文档评论(0)