数据结构课程设计报告(模版)范文

攀枝花学院

学生课程设计(论文)

题目:*************

学生姓名:********

学号:**

所在院(系):数学与计算机学院

专业:计算机科学与技术专业

班级:2011级计算机科学与技术1班指导教师:蒋斌职称:讲师

2013年12月19 日

攀枝花学院本科学生课程设计任务书

注:任务书由指导教

数据结构课程设计评定表

I

摘要

本次课程设计是利用数据结构的知识编写一个能够实现学生配对的问题的软件,以达到在每一首歌曲中能够有学生配对来进行舞蹈表演。为了实现这一个功能我们用利用已学的知识进行编写程序。

通过学习数据结构课程和c语言的知识,主要利用数据结构的队列和C语言知识来实现软件的功能。

主要是把男女生分别放在两个队列中,要涉及到队列的判断和循环等算法。判断队列的满和空的知识来完成。

关键字:学生搭配问题,数据结构,队列,C语言,软件,功能

I I

目录

摘要 ................................................................................................................................................. II 1.方案设计. (1)

1.1问题描述 (1)

1.2需求分析 (1)

1.3运行环境 (1)

1.4概要设计 (2)

2.算法设计 (3)

2.1算法设计思想 (3)

2.2算法设计的对应方式 (3)

2.3算法设计流程图 (4)

3.详细设计 (5)

3.1设计思想 (5)

3.2设计关键算法 (5)

4.调试分析 (7)

4.1、测试及结果 (7)

5.总结 (9)

参考文献 (10)

程序清单 (11)

数据结构课程设计方案设计

1.方案设计

1.1问题描述

一班有m个女生,有n个男生(m不等于n),现要开一个舞会. 男女生分别编号坐在舞池的两边的椅子上.

每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴.

请设计一系统模拟动态地显示出上述过程,要求如下:

1) 输出每曲配对情况

2) 计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值。

1.2需求分析

核心问题:循环队列的应用

数据模型(逻辑结构):循环队列(两个),将男生、女生两组人分别存放,以后实现循环配对输出。

存储结构:循环链表

核心算法:循环队列的入队,出队,判队满,判队空。

输入数据:男生人数、女生人数,歌曲数量

输出数据:每一首歌曲播放时,男生和女生搭配情况(输出编号)

当要查找的男女搭配时输出歌曲编号,和他们搭配的总次数。

通过以上分析,该程序具有可行性。

1.3运行环境

硬件开发环境:PC机

软件开发环境:VC++ 6.0

操作系统环境Window XP

1

1.4概要设计

整个设计的流程图

图1.1

2

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

2.算法设计

2.1算法设计思想

队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。

循环队列是在队列的顺序存储结构中,除了用乙组地址连续的存储单元依次存放从队列头到队列尾的元素外,尚需附设两个指针front和rear分别指示队列头元素和队列尾元素的位置。

循环队列(两个),将男生、女生两组人分别存放,以实现循环配对输出。循环队列的入队,出队,判队满,判队空。

(1)要模拟动态地显示出现题目中所要求的循环,我们要先建立两个循环队列SqQueue 和SqQueue2。

(2)将男生、女生两组人分别存入这两个队列。以实现他们的循环配对输出,这是循环队列固有的特性。

(3)利用循环队列的特性,将男女生分别进行入队列和出队列操作,且实现搭配输出。(4)循环队列的长度分别设为男女生的个数即可。

(5)在计算机终端输出的结果是:根据要求输出男生女生搭配情况。

2.2算法设计的对应方式

假如有3个男生2个女生的配对方式

图 2

3

2.3算法设计流程图

图 3

数据结构课程设计详细设计

3.详细设计

3.1设计思想

建立链式循环队列来分别存储男生和女生,然后调用入队出队函数实现循环队列的配对输出。为了充分利用向量空间,克服上述存储结构上溢现象的方法是将向量空间想象为一个首尾相接的圆环,存储在其中成为循环队列。再循环队列中进行入队、出队操作时,头指针仍要加1,向前移动。只不过当头指针指向上界时其加1操作变为指向下界,这样就可以通过出队再入队来实现男生女生的循环搭配了。

3.2设计关键算法

(1)关键算法之一:初始化队列

void InitQ(LinkQueue &Q)

{

QueuePtr p;

p=(QueuePtr)malloc(sizeof(QNode));

Q.front=p;

Q.rear=p;

Q.front->next=NULL;

}

(2)关键算法之二:入队函数

void EnQueue(LinkQueue &Q,int num)//入队函数

{

QueuePtr p;

p=(QueuePtr)malloc(sizeof(QNode));

p->num=num;

p->next=NULL;

Q.rear->next=p;

Q.rear=p;

}

(3)关键算法之三:出队函数

void DeQueue(LinkQueue &Q, int &num)//出队函数

{

QueuePtr p,q;

if(Q.front==Q.rear)

printf("队列为空");

p=Q.front->next;

num=p->num;

Q.front->next=p->next;

q=p->next;

if(Q.rear==q)

Q.rear=Q.front;

free(p);

}

(4)关键算法之四:输出第i首曲子时女队的情况

void printF(LinkQueue &F,int i) //输出第i首曲子时女队的情况

{

QueuePtr p;

int n=1;

while(n

{

printf("_ ");

n++;

}

p=F.front->next;

while(F.rear!=p)

{

printf("%d ",p->num);

p=p->next;}

printf("%d \n",p->num);

}

数据结构课程设计调试分析

4.调试分析

4.1、测试及结果

1.测试输入数据:男女生的个数曲子数

图4

2.要查找学生的编号:

图 5

3.输出结果为:每首曲子男女生搭配的情况

程序运行界面如下:

图6

数据结构课程设计总结

5.总结

通过一周的学习和实践,解决实际问题(学生搭配问题),让我对循环队列有了更深的了解,对数据结构产生了浓厚的兴趣,同时也让我提高了解决实际问题的能力。

我们要不断的通过上机来提高自己的学习水平,在上机的同时改正了自己对某些算法的错误使用,使自己在通过程序解决问题时抓住关键算法,有了算法设计思想和流程图,并用C语言描绘出关键算法。

以前我对数据结构(C语言描述)的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。让自己有一定的能力去改正一些常见的错误语法,很高兴这一周的学习让我对数据结构(C语言描述)有了新的认识,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。

在这次课程设计的实验中,我收获了许多知识,通过查找大量资料,请教老师,以及不懈的努力,也培养了独立思考、动手操作的能力。我也学会了许多学习和解决实际问题的方法,让我受益匪浅。时间的紧缺成为一个很大的问题。也希望老师可以为我们知道一下以后的发展方向。如果可以让每个人都有动手焊接以及参与其他的各个流程,有专门的知道就更好了。课程设计对我来说,趣味性强,不仅锻炼能力,而且可以学到很多东西,在与老师和同学的交流过程中,互动学习,将知识融会贯通,也增强了我和同学之间的团队合作的能力。让我们知道只要努力,集中精力解决问题,一定会有收获的,过程也是很重要的。

在这次课程设计中我们要学会利用时间,在规定的时间内完成我们的任务,要逐渐养成用C语言编写程序的良好习惯。这些对我来说都是一种锻炼,一个知识积累的过程,一种能力的提高。要打好基础,才能用更好的办法,更简洁明了的程序解决实际问题,只有这样才能进一步的取得更好的成绩。我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解了自己的长短之后,我们会更加珍惜拥有的,更加努力的去完善它,增进它。

要是能够让输出的结果在完美一点就好了,比如说龙一个设计封面。在输出结果不会像从1-k曲连续输出一样。还有从编号的数可以超过人数。

参考文献

[1] 徐孝凯编著。数据结构实用教程(C/C++描述)。北京:清华大学出版社,1999

[2] 严蔚敏主编。数据结构题集(C语言版)。北京:清华大学出版社,2006

[3] 孙巧萍主编。数据结构实训教程。北京:科学出版社, 2000

数据结构课程设计程序清单附页一

程序清单

#include

#include

#include

#include

#define MAXSIZE 60

#define TRUE 1

#define FALSE 0

#define OK 1

#define ERROR 0

#define OVERFLOW -1

typedef int system;

typedef struct QNode{

int num;

struct QNode *next;

}QNode,* QueuePtr;

typedef struct{

QueuePtr front;

QueuePtr rear;

}LinkQueue;

void sleep( clock_t wait ) //延迟函数

{

clock_t goal;

goal = wait + clock();

while( goal > clock() ) ;

}

void InitQ(LinkQueue &Q) //建立空队列

{

QueuePtr p;

p=(QueuePtr)malloc(sizeof(QNode));

Q.front=p;

Q.rear=p;

Q.front->next=NULL;

}

void EnQueue(LinkQueue &Q,int num)

{

QueuePtr p;

p=(QueuePtr)malloc(sizeof(QNode));

p->num=num;

p->next=NULL;

Q.rear->next=p;

Q.rear=p;

}

void DeQueue(LinkQueue &Q, int &num)

{

QueuePtr p,q;

if(Q.front==Q.rear)

printf("队列为空");

p=Q.front->next;

num=p->num;

Q.front->next=p->next;

q=p->next;

if(Q.rear==q)

Q.rear=Q.front;

free(p);

}

void printF(LinkQueue &F,int i) //打印第i首曲子时女队的情况{

QueuePtr p;

int n=1;

while(n

{

printf("_ ");

n++;

}

p=F.front->next;

while(F.rear!=p)

{

printf("%d ",p->num);

p=p->next;}

printf("%d \n",p->num);

}

void printM(LinkQueue &M,int i) //打印第i首曲子时男队的情况{

QueuePtr p;

int n=1;

while(n

{

printf("_ ");

n++;

}

p=M.front->next;

while(M.rear!=p)

{

数据结构课程设计程序清单

printf("%d ",p->num);

p=p->next;

}

printf("%d \n",p->num);

}

void main()

{

int m,n,k,i,a,b;

int count=0,num;

QueuePtr p,q;

LinkQueue F; //女生队

LinkQueue M; //男生队

printf("请输入女生数量:");

scanf("%d",&m);

printf("请输入男生数量:");

scanf("%d",&n);

printf("请输曲子号:");

scanf("%d",&k);

printf("请输入要查找的男生编号:");

scanf("%d",&a);

printf("请输入要查找的女生编号:");

scanf("%d",&b);

InitQ(F);

InitQ(M);

for(i=1;i<=m;i++)

{

EnQueue(F,i);

}

for(i=1;i<=n;i++)

{

EnQueue(M,i);

}

for(i=1;i<=k;i++)

{

system("CLS");

printf("第%d首曲子 \n",i);

printF(F,i);

printM(M,i);

p=F.front->next;

q=M.front->next;

printf("目前跳舞的是第%d号女生和第%d号男生\n",p->num,q->num);

if(p->num==a&&q->num==b)

{

count++;

printf("第%d曲是要查找的男女生跳舞\n",i);

}

sleep(3000);

DeQueue(F,num);

EnQueue(F,num);

DeQueue(M,num);

EnQueue(M,num);

}

printf("该对男女生共跳舞%d次\n",count);

}

14

数据结构课程设计报告模板

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

数据结构课程设计报告

《数据结构与算法》课程设计报告 学号: 班级序号: 姓名: 指导教师: 成绩: 中国地质大学信息工程学院地理信息系统系 2011年12 月

1.需求规格说明 【问题描述】 利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。但是,这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。试为完成此功能,写一个压缩/解压缩软件。 【基本要求】 一个完整的系统应具有以下功能: (1)压缩准备。读取指定被压缩文件,对文件进行分析,建立哈夫曼树,并给出分析结果(包括数据集大小,每个数据的权值,压缩前后文件的大小),在屏幕上输出。 (2)压缩。利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 (3)解压缩。打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 (4)程序使用命令行方式运行 压缩命令:SZip A Test.Haf 1.doc 解压缩命令:SZip X Test.Haf 2.doc或SZip X Test.Haf 用户输入的命令不正确时,给出提示。 (5)使用面向对象的思想编程,压缩/解压缩、哈夫曼构建功能分别构建类实现。 2.总体分析与设计 (1)设计思想: 1、压缩准备:1> 读文件,逐个读取字符,统计频率 2> 建立哈夫曼树 3> 获得哈弗曼编码 2、压缩过程: 1> 建立一个新文件,将储存权值和字符的对象数组取存储在文件头

数据结构课程设计报告模板

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

目录 1.引言 (1) 2.课题分析 (4) 3.具体设计过程 (5) 3.1设计思路 (5) 3.2程序设计流程图 (5) 3.3.函数实现说明 (10) 4.程序运行结果 (12) 5.软件使用说明 (16) 6.结论 (19) 参考文献 (20) 附录:源代码 (21)

1.引言 数据结构在计算机科学界至今没有标准的定义。个人根据各自的理解的不同而有不同的表述方法: Sartaj Sahni在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。Clifford A.Shaffer在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” Lobert L.Kruse在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。 1.1. 重要意义 一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。 在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。 选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。 1.2. 研究内容

数据结构课程设计报告模板2013

课程设计(论文)任务书 学院专业班 一、课程设计(论文)题目 二、课程设计(论文)工作自年月日起至年月日止。 三、课程设计(论文) 地点: 四、课程设计(论文)内容要求: 1.课程设计的目的 为了配合《数据结构》课程的教学,使学生能更深刻的领会《数据结构》课程的重要性,特开设此课程设计;编写一些在特定数据结构上的算法,通过上机调试,更好的掌握各种数据结构及其特点,培养学生综合运用所学理论知识解决复杂实际问题的实践能力、研究性学习能力和团队合作能力。 2.课程设计的任务及要求 1)基本要求 (1)课程设计前必须选定课程设计题目,并认真进行需求分析与系统设计; (2)上机调试之前要认真准备实验程序及调试时所需的测试数据; (3)独立思考,独立完成,严禁抄袭,调试过程要规范,认真记录调试结果; (4)上机结束后认真规范撰写课设报告,对设计进行总结和讨论。 2)课程设计论文编写要求 (1)要按照书稿的规格撰写打印课设论文 (2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等 (3)正文中要有问题描述、抽象数据类型的定义、数据的存储结构、设计的求解算法、算法的实现、调试分析与测试结果 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查: (1)考勤和态度; (2)任务的难易程度及设计思路;

(3)动手调试能力; (4)论文撰写的水平、格式的规范性。 4)参考文献 [1] 严蔚敏, 吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社, 2007年. [2] 严蔚敏, 吴伟民. 数据结构题集(C语言版)[M]. 北京:清华大学出版社, 2007年. [3] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2006年. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 程序设计与调试3计算机房 撰写论文1图书馆 6)任务及具体要求 (此处填写任务书中自已所选题目的要求) 学生签名:亲笔签名 年月日 课程设计(论文)评审意见 (1)考勤和态度:优()、良()、中()、一般()、差()(2)任务难易及设计思路:优()、良()、中()、一般()、差()(3)动手调试能力评价:优()、良()、中()、一般()、差()(4)论文撰写水平及规范性评价:优()、良()、中()、一般()、差() 评阅人:职称:讲师 年月日

数据结构课程设计报告

编号 课程设计 题目 1、一元稀疏多项式计算器 2、模拟浏览器操作程序 3、背包问题的求解 4、八皇后问题 二级学院计算机科学与工程学院 专业计算机科学与技术 班级 2011级 37-3班 学生姓名 XX 学号 XXXXXXXXXX 指导教师 XXXXX 评阅教师 时间 1、一元稀疏多项式计算器 【实验内容】 一元稀疏多项式计算器。

【问题描述】 设计一个一元稀疏多项式简单计算器。 【需求分析】 其基本功能包括: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n 是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相减,建立多项a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做); 【概要设计】 -=ADT=- { void input(Jd *ha,Jd *hb); void sort(dnode *h)

dnode *operate(dnode *a,dnode *b) float qiuzhi(int x,dnode *h) f",sum); printf("\n"); } 【运行结果及分析】 (1)输入多项式:

(2)输出多项式(多项式格式为:c1x^e1+c2x^e2+…+cnx^en): (3)实现多项式a和b相加: (4)实现多项式a和b相减: (5)计算多项式在x处的值:

2、模拟浏览器操作程序 【实验内容】 模拟浏览器操作程序 【问题描述】 标准Web浏览器具有在最近访问的网页间后退和前进的功能。实现这些功能的一个方法是:使用两个栈,追踪可以后退和前进而能够到达的网页。在本题中,要求模拟实现这一功能。 【需求分析】 需要支持以下指令: BACK:将当前页推到“前进栈”的顶部。取出“后退栈”中顶端的页面,使它成为当前页。若“后退栈”是空的,忽略该命令。 FORWARD:将当前页推到“后退栈”的顶部。取出“前进栈”中顶部的页面,使它成为当前页。如果“前进栈”是空的,忽略该命令。 VISIT:将当前页推到“后退栈”的顶部。使URL特指当前页。清空“前进栈”。 QUIT:退出浏览器。 假设浏览器首先加载的网页URL是:http:

英语专业实习报告模板大全【完整版】

英语专业实习报告模板大全 ----WORD文档,下载后可编辑修改复制---- 【范文引语】实习是每个大学生必须面对和经过的过程,正确认识实习对大学生的意义,对以后的就业和工作都会起到非常有利的推进作用。大学生通过实习可以更进一步的接近自己向往的公司单位,为以后的就业做好铺垫和提供参考。作者为大家整理的《英语专业实习报告模板大全》,希望对大家有所帮助! 篇一 一、实习目的 以学习为主,理论联系实践。巩固应用英语专业的基本理论知识,提高口语表达能力以及随机应变能力,树立奋斗目标和规划将来。在实践中学习与人相处的技巧、团队协作精神、如何观察分析解决事情的能力等,综合提高个人素质以及实践能力,投入工作,融入社会。为梦想而拼搏。 同时,在实践中寻找自身不足之处以及改善的方法,找出书本知识同实践知识的共鸣点,不断的了解自我、改善自我、完善自我。以充分的准备正式踏入社会,锁定正确的方向进行远航。 二、实习内容 1、实习前期准备 根据自身树立的目标以及规划,寻找实习单位,分析单位的性质以及潜力,同时分析自身条件是否适合从事此份工作以及是否喜爱这份工作。通过对公司和个人的了解,在进入公司实习前,做好基本知识的巩固,调整好心态以及自身角色。 通过以上的准备,我确定我的目标是进入一家数码商务公司进行实习,从一个小员工做起,学习从小事做到大事。处理好客户、同事、上司的种种关系,不自欺自傲,以自身目标、道德为主。 我了解到我即将面试的这家公司是一家从事批发零售手机、笔记本、电脑周边配件、手机保护壳、移动电源的商务公司。属于小型商务公司,这家公司名为炬信科技,对员工要求比较特别,老板认为进入这家公司就像进入一个大家庭,要学会如何在家庭中寻找自己的位置以及价值。价值不一定是金钱的利益,还有

数据结构课程设计报告

山东建筑大学 课程设计成果报告 题目: 1.数组实现两个矩阵的相乘运算 2.成绩分析问题 课程:数据结构A课程设计 院(部):管理工程学院 专业:信息管理与信息系统 班级:信管*** 学生姓名:*** 学号:******** 指导教师:******* 完成日期:2016年12月29日

目录 目录 (2) 一、课程设计概述 (3) 二、课程设计题目一 (3) 用数组实现两个矩阵的相乘运算 (3) 2.1[问题描述] (3) 2.2[要求及提示]: (3) 2.3[详细设计] (4) 2.4[调试分析] (5) 2.5[运行结果及分析] (5) 三、课程设计题目二 (6) 成绩分析问题 (6) 3.1[问题描述] (6) 3.2[概要设计] (6) 3.3[存储结构] (7) 3.4[流程图] (7) 3.5[详细设计] (8) 3.6[调试分析] (8) 3.7[运行结果及分析] (22) 四、参考文献: (25)

一、课程设计概述 本次数据结构课程设计共完成两个题:用数组实现两个矩阵相乘运算、成绩分析问题。使用语言:C 编译环境:vc6.0 二、课程设计题目一 用数组实现两个矩阵的相乘运算 2.1[问题描述] #include “stdio.h” int r[6][6]; void mult(int a[6][6] , int b[6][6]){ } main(){ int i,j; int num1[6][6],num2[6][6]; printf(“请输入第一个矩阵的值:”,); for(i=1;i<=6;i++) for(j=1;j<=6;j++) scanf(“%d”,&num1[i][j]); printf(“请输入第二个矩阵的值:”,); for(i=1;i<=6;i++) for(j=1;j<=6;j++) scanf(“%d”,&num2[i][j]); mult(num1,num2); printf(“\n两个矩阵相乘后的结果为:”); for(i=1;i<=6;i++) {for(j=1;j<=6;j++) printf(“%4d”,r[i][j]); printf(“\n”); } } 2.2[要求及提示]: 1、要求完善函数mult( ),

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

数据结构课程设计报告模板

数据结构课程设计报告模板 成绩 计算机与信息工程学院 专业名称信息与计算科学 学生班级 10 级1班 学生姓名刘远远 学生学号 2010025707 设计起止时间: 2012年12月17日至 2012年12月21日 课程设计任务书 一、课程设计题目: 线性表的应用(大数运算) 二、课程设计目的与要求: 1、课程设计目的 (1)对数据结构中线性结构的理解和掌握; (2)熟练掌握顺序和链式存储结构有关知识和方法; (3)深入掌握各种数据结构的理论知识和实践操作; (4) 养成良好的编程风格,掌握各种数据结构的编程思想和编程方法; (5)将数据结构的理论知识和实践有机结合起来,为后续知识的学习 做好准备。 2、课程设计要求 (1) 选择合适的存储结构实现大数存储; (2) 设计算法,采用顺序存储结构完成大数的阶乘运算; (3) 设计算法,采用链式存储结构完成大数的加法运算; (4) 设计算法,选择合适的存储结构完成大数的乘法运算;

(5) 其中某一算法采用两种存储结构实现。三、工作计划: 第一阶段(12月17日,12月18日): 查阅各种数据结构相关资料书籍,整理出课程设计初步模型,并形成 课程设计的整体理论框架,理论模型 ; 第二阶段(12月19日,12月21日): 在DEV-C++5或TURBOC2相关开发语言上,进行编码、上机调试, 逐步形成完善的设计程序,使其达到上机完善演示出系统性的课程设计。 四、课程设计提交的文件: (1) 课程设计报告 (2) 课程设计可运行程序(刻录成光盘) 指导教师: 张绍兵 2012 年 12 月 1日 2 线性表有两种不同的存储结构,分别是顺序存储结构和链式存储结构,在实际中应用十分广泛。本设计要求分别利用线性表的两种存储结构,设计算法完成对大数的阶乘、加法、乘法的求解。 数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的关系的操作的学科,在本次课程设计中,定义存储结构均采用了数据结构中的抽象数据类型,而抽象数据类型是指一个数据模型以及定义在改模型上的一组操作,抽象数据类型的定义仅仅取决于它的一组逻辑特性,而与计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。选择合适存储结构实现大数运算。首先需要先解释的是这里大数计算的因数和结果精度一般是少则数十位,多则几万位。在C语言中定义的类型中精度最多只有二十多位,因而在此我们采取用线性表的顺序和链表存储结构的方式来存放大数,

数据结构课程设计报告-学生成绩管理系统[]

武汉理工大学华夏学院课程设计报告书 课程名称:数据结构课程设计 题目:用C语言实现成绩统计程序的设计系名:信息工程系 专业班级:计算机1121 姓名:吴涛 学号:10210412104 指导教师:司晓梅 2016年3 月20日

武汉理工大学华夏学院信息工程系 课程设计任务书 课程名称:数据结构课程设计指导教师:司晓梅班级名称:计算机1121 开课系、教研室:信息系计算机 一、课程设计目的与任务 《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据的逻辑结构和存储结构以及相应操作,把现实世界中的问题转换为计算机内部的表示和处理,这就是一个良好的程序设计技能训练的过程。提高学生的程序设计能力、掌握基本知识、基本技能,提高算法设计质量与程序设计素质的培养就是本门课程的课程设计的目的。 任务:根据题目要求,完成算法设计与程序实现,并按规定写出课程设计报告。 二、课程设计的内容与基本要求 设计题目:用C语言实现成绩统计程序的设计 〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法: (1)输入每个人的各门课程的成绩,计算每人的平均成绩; (2)按平均成绩的高低次序,打印出个人的名次,平均成绩相同的为同一名次; (3)按名次列出每个学生的姓名和各科成绩; 〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制; 〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解; 具体要完成的任务是: A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。 B. 写出规范的课程设计报告书; 三、课程设计步骤及时间进度和场地安排 时间:1周地点:现代教育中心 具体时间安排如下: 第一天:布置题目,确定任务、查找相关资料 第二天~第四天:功能分析,编写程序,调试程序、运行系统; 第五天上午:撰写设计报告; 第五天下午:程序验收、答辩。 四、课程设计考核及评分标准

教育实习报告格式范文

( 实习报告 ) 单位:_________________________姓名:_________________________日期:_________________________ 精品文档 / Word文档 / 文字可改 教育实习报告格式范文Sample format of education practice report

教育实习报告格式范文 教育实习报告格式 首先,对实习过程、结果以及体会用书面文字写出来的材料就是实习报告。 一、实习报告的资料收集 从开始实习的那天起就要注意广泛收集资料,并以各种形式记录下来(如写工作日记等)。丰富的资料是写好实习报告的基础。主要收集这样一些资料: 1.在社会实践工作中党的路线方针政策是如何在工作中贯彻执行的。比如单位组织学习,内容是什么、什么学习方式、学习后的效果如何,对自己和同志们的思想有否提高。 2.专业知识在工作中如何灵活运用。比如法律专业,注意法官或法律工作者在执法过程中是如何灵活运用法律条款,深入了解优

秀法官,如何运用法律以外的手段解决民事纠纷,提高结案率的;秘书专业的学生可以直接将秘书实务、应用写作等科目中的问题带到实践中去,在实践中寻求理论与实践的结合点等等。 3.观察周围同事如何处理问题、解决矛盾的。实习是观察体验社会生活,将学习到的理论转化为实践技能的过程,所以既要体验还要观察。从同事、前辈的言行中去学习,观察别人的成绩和缺点,以此作为自己行为的参照。观察别人来启发自己也是实习的一种收获。 4.实习单位的工作作风如何。单位的工作作风对你将来开展工作、发展自己,提高自己有什么启发;某些同事的工作作风、办事效率哪些值得你学习、哪些要引以为戒,对工作对事业会有怎样的影响。 5.实习单位的部门职能发挥如何。对不同职能部门的工作作风、履行职能的情况有什么看法和认识。 二、实习报告的写法 根据本专业特点,可以全面地写。如法律专业,去法院实习,

数据结构课程设计报告模板

校园导游系统设计 一、设计要求 1.问题描述 设计一个校园导游程序,为来访的客人提供信息查询服务。 2.需求分析 (1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 (2)存放景点代号、名称、简介等信息供用户查询。 (3)为来访客人提供图中任意景点相关信息的查询。 (4)为来访客人提供图中任意景点之间的问路查询。 (5)可以为校园平面图增加或删除景点或边,修改边上的权值等。 二、概要设计 为了实现以上功能,可以从3个方面着手设计。 1.主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图7-10所示。 2.存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中:各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum表示,它们是整型数据。 此外,本系统还设置了三个全局变量:visited[ ] 数组用于存储顶点是否被访问标志;d[ ]数组用于存放边上的权值或存储查找路径顶点的编号;campus是一个图结构的全局变量。 3.系统功能设计 本系统除了要完成图的初始化功能外还设置了8个子功能菜单。图的初始化由函数initgraph( )实现。依据读入的图的顶点个数和边的个数,分别初始化图结构中图的顶点向量数组和图的邻接矩阵。8个子功能的设计描述如下。 (1)学校景点介绍 学校景点介绍由函数browsecompus( )实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点简介。 (2)查看浏览路线 查看浏览路线由函数shortestpath_dij( )实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其它景点的最短路径线路及距离。 (3)查看两景点间最短路径

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

关于专业实习报告模板集锦5篇

关于专业实习报告模板集锦x 篇亲爱的朋友,很高兴能在此相遇!欢迎您阅读文档关于专业实习 报告模板集锦x 篇,这篇文档是由我们精心收集整理的新文档。相信您 通过阅读这篇文档,一定会有所收获。假若亲能将此文档收藏或者转 发,将是我们莫大的荣幸,更是我们继续前行的动力。 专业实习报告篇x 我的家乡是宁夏的一个不大也并不繁华的中等城市-- 中卫。家乡的电视台的节目播出覆盖面仅仅是家乡城镇地区。但我并不因此而降低对自己的要求。我相信,很多东西都是在最基层的地方才可以学习的到。而且我现在还这么年轻,没有任何经验,甚至没有接触过任何专业课程,更应该从最基层的地方去发现和学习最基础的传媒知识。 当我向办公室主任介绍自己的时候说,我们学校还没有分具体专业,将来有意向要学广告学的时候,他笑一笑说:“我当年也是学广告 学的。”那个笑很意味深长,我是后知后觉。之后我被分配到了专题 部,负责跟着学习并制作第一期的暑期少儿节目。这一安排,真的令我有点不愿意接受。我想象中的实习,最起码也是忙忙碌碌的坐着车赶赴某个会议会场,奔赴某个事故现场之类的。可是我想起了办公室主任说的那句话,其实不论学习什么专业,传媒行业是一个大圈子。不一定学习什么,就一定会从业与那个相关的工作。但只要你掌握更多的知识,不 论怎么转,只要在这个圈子里,你就是有用之人。 令我感到幸运的是,我参与了这次节目制作的策划,拍摄,及后期

制作的全部过程,学习到了很多东西,在知识和心理上都有所成长与收获。 刚开始策划节目的时候,指导老师要我对这一期的节目提出我的看法和意见。我自认为,这个一点都难不倒我,于是我开始尽情的发挥。但是后来有很多提议都被“枪毙”了。刚开始,老师只说了一句:“太多了! ”节目的制作开始进行后,我心有不甘的又提出了我的意见。指导老师语重心长的对我讲:“也许你的实习仅仅这一次,你想抓住机会一下把所有的都表现出来。但是不要忘了,这仅仅是一次xx 分钟的节目,以后还会有很多的节目。一次的节目,只能表达一次足够表达的东西。我们要做到精、简。 以后还会有很多个xx 分钟用来表达。如果你现在有xx 个盒子,把所有的东西都放在第一个盒子,使第一个盒子超重了,其他的却空着或填不满。那超重的第一个盒子谁愿意来接受?其他空的盒子谁会去理睬?”一席话让我茅塞顿开。也许,这就是我们年轻人的不足之处吧。我们总想尽可能的去展现自己的才能,而忘记了如何理智的去看待事情。我想,不仅仅是才华,更重要的如何沉着冷静的,用长远且理智的目光去对待和处理一件事情,让它更好。这些也许需要很长的时间与经验才可以慢慢去体会和学习到的。现在我提前知道了,我很庆幸。 接下来就开始拍摄了。记得那天气温很高,我们一大早一起简单

数据结构课程设计报告模板

数据结构课程设计报告模板篇一:数据结构课程设计报告模板 课程设计说明书 课程名称:数据结构与算法 专业:计算机科学与技术班级: 103013 姓名:徐粤玲学号:03 成绩: 完成日期:XX年1 月 12日 任务书 摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力

的进角。 关键词:黑白棋编程设计 s 目录 1.引言 ................................................ ................................................... .. (4) 2.课题分析 ................................................ ................................................... (7) 3.具体设计过程 ................................................ .................................................... 8 设计思路 ................................................ ................................................... 8 程序设计流程图 ................................................

学生毕业实习报告模板

学生毕业实习报告模板 学生毕业实习报告模板1 短短的一个月的实习就结束了,感觉收获真的很大,要不是学校把我"逼"上实习的这条道路,我想我这个暑假肯定又恍恍惚惚的过去了,在这段时间里,我学到了很多在学校了学不到的东西,也认识到了自己很多的不足感觉收益非浅,以下是我在实习期间的心得体会。 在实习的开始头两个星期里,我主要是熟悉产品,包括:学习各种产品的使用和简单障碍处理、向客户详细介绍产品的性能和演示产品。纸上得来终觉浅,要知此事要躬行。课本上早已学过的东西,因为没有接触过实物,使得在刚使用机器时有"心有余而力不足"的感觉。一款全自动打印复印机,看起来很简单就是那么几个键,可要真正能熟练操作,我甚至用了比预期多一整天的时间才能真正地操作。 因为这是我接触的第一项产品,成绩如此不济,也激起了的兴趣和好学的愿望。因此在以后的操作学习中,我倍加用功,专心致志,却也收到了事半功倍的效果。自己操作产品、熟悉产品,还不算难的,真正要下功夫学的是怎样向客户全面、生动,而又要简明、扼要、有所侧重要地介绍出自己的产品和业务。这里面的关键是要会说,不仅要说对,还要说得能引起客户的兴趣,从而能成功地作成一庄生意。这也是对我一个巨大挑战,因为我本就不善言语,就更没有什么

说话技巧和口才了,这也就是我就克服的困难。 接下来的一个星期里是实习业务阶段,就是通俗上说的"跑业务"。"跑业务"关键是要"跑",要求我们能吃苦,能坚持,有韧力。因为业务技巧有过培训,产品自己也能了然于胸,但怎样正确地向客户表达出来,还需要师傅们实际教导。我就要向我的同事表示感谢,因为他们不仅教会了我怎样和客户沟通、怎样从客户处获得对自己有用的信息,还教会了我怎样排除困难、战胜自我。 第一次接触生人,开始正式交谈,未免有些局促、放不开,话语的表达也不是很通顺、清楚、扼要,在跟着他们几天之后,我基本上克服了自己胆小毛病,同事们也赞扬我进步很快。接下来就是自己去跑业务了,当然开始几次难免不失败,有了第一次的不幸和失败之后,我深知自己还很嫩,要学习和练习的东西还真得很多。因此,我在以后的实习工作中也充分认识到这一点,随时提醒自己要学习。 然后实习方面的事就是动手操作了。扎实的专业知识是提高工作水平的坚实基础.在学校学习专业知识时,可能感觉枯燥无味,但当工作以后,才会发现专业知识是多么的重要.我们在学校都是学些基本理论,这些知识只是知道是远远不行的,而是要做到运用.当遇到设备问题怎能快速有效的解决呢?工作中不但要有良好的工作态度,而且要有很好的表现力.中国有句俗语:"踏踏实实做人,老老实实做事."在今天,只是老老实实,勤勤恳恳做事是不够的,你还要学会适时地,恰当地表现自己.让老板知道你做了什么,让老板知道你的存在是必要的!这样你才有发展的的可能,别人才会认可你,承认你!团结协作,善于沟

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

数据结构课程设计报告 合并果子问题

合肥学院 计算机科学与技术系 课程设计报告 2011 ~2012 学年第二学期 课程数据结构与算法 课程设计名称合并果子问题 学生姓名杜双双 学号1004013037 专业班级计算机科学与技术10级3班 指导教师李红陈艳平王竹婷 2012 年2 月

课程设计报告 一、问题分析和任务定义 此程序需要完成如下要求:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。 例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以多多总共耗费体力3+12=15。可以证明15为最小的体力耗费值。 实现本程序需要解决以下几个问题: 1、要使每次合并的体力消耗最小应该选择数目最小的两堆果子,那么如何选择出两堆最小的呢? 2、选择出了两堆果子如何进行合并? 3、如何计算最小的体力耗费值? 本问题的关键和难点在于数据结构的选择,找出最优的方法,在此选择哈夫曼树数据结构。 示例:三种果子,果子数目分别为1,2,3 哈夫曼树 最小体力消耗值:3+6=9 二、数据结构的选择和概要设计 上面采用哈夫曼树,则其存储就是哈夫曼树的存储结构。采用数组顺序存储结点信息。每一个结点包括四个域:存放该结点的weight 域、分别存放其左右孩子结点在数组中下标的lchild 域和rchild 域,以及记录该结点的父结点信息的parent 域。 只需用一个主函数就能解决问题。 三、详细设计和编码 数据结构: typedef struct {

相关文档
最新文档