分治算法设计与应用(2)

2019-02-15 18:41

else

{

num1=num/ 5; j=0; num2=0;

for(i=0;i

temp[j]=S[i]; j++; if(j==5)

{

j=0; sort(5,temp); M[num2]=temp[2]; num2++; } }

m=select((num1+1)/2,M,num2); n1=n2=n3=0; for(i=0;i

S1[n1]=S[i]; n1++; }

else if(S[i]==m) { S2[n2]=S[i]; n2++; } else

{

S3[n3]=S[i]; n3++; } } if(n1>k)

return(select(k,S1,n1)); else if(n1+n2>=k) return m;

else return(select(k-n1-n2,S3,n3)); } }

/*----------------主函数------------------*/ void main() {

int m,i,t,j;

printf(\输入测例个数:\\n\ scanf(\ for(i=1;i<=m;i++) {

printf(\第-个测例数如下:\\n\ scanf(\ for(j=1;j<=Data[i].number;j++) {

scanf(\ }

scanf(\ printf(\

printf(\第-个测例的前%d小元素是: \\n\ for(t=1;t<=Data[i].number;t++) {

Data[i].output[t]=select(t,Data[i].elem,Data[i].number); }

find(Data[i].output,Data[i].number,Data[i].k); printf(\ } }

五、实验结果

实验三.(1).cpp

按照实验要求输入测试例,得到的实验结果是:

实验三.(2).cpp

按照实验要求输入测试例,得到的实验结果是:

六、总结

1.主要要注意实验中的细节

2.在写算法的时候要注意时间复杂性。


分治算法设计与应用(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年陕西省中考化学总复习第一轮课时训练:第15讲 常见化学仪

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: