搜档网
当前位置:搜档网 › 数据结构与算法设计课程设计

数据结构与算法设计课程设计

数据结构与算法设计课程设计
数据结构与算法设计课程设计

内江师范学院

数据结构与算法设计课程设计实验报告册

编制算法设计课题组审定曾意

数学与信息科学学院

2014年9月

1. 学生在做实验之前必须要准备实验,主要包括预习与本次实验相关的理论知识,熟练与本次实验相关的软件操作,收集整理相关的实验参考资料,要求学生在做实验时能带上充足的参考资料;若准备不充分,则学生不得参加本次实验,不得书写实验报告;

2. 要求学生要认真做实验,主要是指不得迟到、早退和旷课,在做实验过程中要严格遵守实验室规章制度,认真完成实验内容,极积主动地向实验教师提问等;若学生无故旷课,则本次实验等级计为D;

3. 学生要认真工整地书写实验报告,实验报告的内容要紧扣实验的要求和目的,不得抄袭他人的实验报告;

4. 实验成绩评定分为A+、A、A-、B+、B、C、D 各等级。根据实验准备、

实验态度、实验报告的书写、实验报告的内容进行综合评定,具体对应等级如下:完全符合、非常符合、很符合、比较符合、基本符合、不符合、完全不符

实验名称:算法设计基础实验(实验一) 指导教师:牟廉明,刘芳实验时数: 4 实验设备:安装了VC++计算机

实验日期:年_月_日实验地点:第五教学楼北802

实验目的:

掌握算法设计的基本原理,熟悉算法设计的基本步骤及其软件实现。

实验准备:

1. 在开始本实验之前,请复习相关实验内容;

2. 需要一台准备安装Windows XP Professional操作系统和装有VC++6.0的计算机。

实验内容:

求n至少为多大时,n个1组成的整数能被2013整除。

实验过程:

1.1算法思想

2013=61*33,6个1能够整除33,寻找满足n个1能够整除61的n即可。

1.2算法步骤

1?定义变量y储存余数,i储存1的个数,m为被除数,初始化为111111;

2?如果被除数能够除尽61,输出i;

如果被除数不能够除尽61,while继续循环,m=y*1000000+111111,i++;

3?重复2,直到找到满足条件的m为止,输出i;

1.3算法实现(C++程序代码)

#in clude

using n amespace std;

int mai n()

{

int y,m,i;

i=6;

m=111111; while(y!=0){ m=y*1000000+111111;

y=m%61;

i=i+6; }

cout<

return 0;

1.4算法分析

时间复杂度为0(n);

实验总结(由学生填写):通过该实验发现,任何问题不要盲目的使用蛮力法,一定要化蛮力为巧力,这样既可以减少程序的时间复杂度,也能得到较精确的结果。并且在以后的解决问题的过程中,一定要多分析,多思考。

实验等级评定:__________

实验名称:蛮力法实验一分式化简(实验二)_________ 指导教师:牟廉明,刘芳

实验时数: 4 实验设备:安装了VC++的计算机

实验日期:_______ 年_月_日实验地点:第五教学楼北802

实验目的:

掌握蛮力法的基本思想和方法,熟悉搜索法的软件实现。

实验准备:

1在开始本实验之前,请回顾教材的相关内容;

2.需要一台准备安装Windows XP Professional操作系统和装有数学软件的计算机。

实验内容:

设计算法,将一个给定的真分数化简为最简分数形式,例如,将6/8化简为3/4。

实验过程:

1.1算法思想

首先对于普通整数;

可以先利用欧几里得算法求出最大公约数,然后再讲分子分母用最大公约数作除,即可求出最简真分数。

1.2算法步骤

输入:约分前的两个整数分子和分母

输出:约分后的分子分母

1. r=m% n;

2. 循环直到r=0;

3. m=n;n=r;r=m% n;

4. a/n;b/n;

5. 输出b/a;

1.3算法实现(C++程序代码)

#in clude

using n amespace std;

int mai n()

{

long int a, b, r;

cout<<"请输入真分数的分母和分子:";

cin> >a?b;

long int m=a;

long int n=b;

{

a = b;

b= r;

r = a%b;

}

a=m/b;

b=n/b;

cout<<"原分数的最简分数为:"<

}

1.4算法分析时间复杂度为o(n).

实验总结(由学生填写):此次实验较为简单,也较为基础。但需注意的是,即使是很简单的问题,也需要注意细节,尤其是在定义长整型的时候,不要单独的只定义为整型。

实验等级评定:

相关主题