算法实验报告.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

课程实验报告

课程名称:计算机算法基础

专业班级:

学号:

姓名:

指导教师:

何琨

报告日期:

2016-1-2

计算机科学与技术学院

目录

TOC\o1-3\h\u20340实验一 1

22202一、实验题目 1

32396二、目的与要求 1

11414三、算法设计 1

22182四、实验环境 1

3554五、实验过程 1

4630六、实验结果 4

26927七、结果分析 4

21624实验二 5

11722一、实验题目 5

18815二、目的与要求 5

21457三、算法设计 5

24376四、实验环境 5

13788五、实验过程 5

8088六、实验结果 8

20702七、结果分析 8

实验一

实验题目

编程实现算法4.17:基于二次取中的选择算法,编制一下过程:

PARTITION

INSERTIONSORT

INTERCHANGE

SELECT2

目的与要求

编制测试数据,给出实验结果:给出几个不同的数据集,并选择几个不同的r值进行测试。

算法设计

二次取中规那么的选择算法的说明性描述:

ProcedureSELECT2(A,k,n)

//在集合A中找第k小元素

1假设n=r,那么采用插入法直接对A分类并返回第k小元素

2把A分成大小为r的个子集合,忽略剩余的元素

3设是上面个子集合的中间值的集合

4

5用PARTITION划分A,v作为划分元素

6假设v在位置j

7case

:k=j:return(v)

:k=j:设S是A(1:j-1)中元素的集合

return(SELECT2(S,k,j-1))

:else:

return(SELECT2(R,k-j,n-j))

endcase

endSELECT2

实验环境

编程语言为c语言,在windows操作系统下运行。

五、实验过程

源程序

#includestdio.h

#includestdlib.h

#includemath.h

intr=3;

intPARTITION(intp,intq,intA[])

{

inti,v,temp;

i=p+1;

q=q-1;

v=A[p];

while(1)

{

for(;A[i]v;i++);

for(;A[q]v;q--);

if(iq)

{

temp=A[i];A[i]=A[q];A[q]=temp;

}

else

break;

}

A[p]=A[q];A[q]=v;

returnq;

}

voidINSERTCHANGE(int*a,int*b)

{

intt;

t=*a;

*a=*b;

*b=t;

}

voidINSERTIONSORT(intA[],intp,intq)

{

intitem,j,i;

for(j=p+1;j=q;j++)

{

item=A[j];i=j-1;

while((i=p))

{

A[i+1]=A[i];i=i-1;

}

A[i+1]=item;

}

}

intSEL(intA[],intm,intp,intk)

{

doublenrnr;

intn,i,j,nr;

if(p-m+1=r)

{

INSERTIONSORT(A,m,p);

returnm+k-1;

}

while(1)

{

n=p-m+1;

for(i=1;i=(n/r);i++){

INSERTIONSORT(A,m+(i-1)*r,m+i*r-1);

INSERTCHANGE((A[m+i-1]),(A[m+(i-1)*r+r/2-1]));

}

nrnr=(double)(n/r);

nrnr=(nrnr+1.0000)/2.0000;

nr=ceil(nrnr);

j=SEL(A,m,m+n/r-1,nr

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档