数据结构课程设计实验报告

发布 2022-10-05 20:18:28 阅读 2756

数据结构与算法》

组员姓名: 张林王莉

邱波马俊兰

组员学号: 20100633 20100608

学院:信息与计算科学学院

专业班级: 10级应数二,三班

指导老师: 虎旭林

设计日期: 2012—06—18

一前言3二本小组成员3

三文章编辑4

1)需求分析4

2)概要设计4

3)详细设计6

4)调试分析11

5)课程设计总结13

四运动会分数统计13

1)需求分析13

2)概要设计13

3)详细设计15

4)调试分析22

5)课程设计总结24

五一元多项式的计算25

1)需求分析25

2)概要设计25

3)详细设计26

4)调试分析31

5)课程设计总结31

六赫夫曼树的建立32

1)需求分析32

2)概要设计32

3)详细设计34

4)调试分析38

5)课程设计总结39

七课程设计总结40

八设计参考资料40

一前言。在计算机及其应用的各个领域中,都会用到各种各样的数据结构,学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,是计算机工作者当前的计算机专业教学计划中,它是核心课程之一。

数据结构与算法》课程设计是实践性教学中的一个重要环节,它以《数据结构与算法》课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《数据结构与算法》是一门重要的专业基础课,是计算机理论和应用的核心基础课程。

数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

而这次《数据结构与算法》课程设计中,根据老师的设计要求,我们小组理性化的选择了五个程序,即运动会的分数统计,文章编辑,一元多项式的计算,赫夫曼数的建立。我们小组由我,10级应数三班王莉同学,10级应数二班邱波同学,马俊兰同学组成,在编制程序设计中,我们完美的实现了分工合作,由最初的各自负责一个程序的源程序的编写,即我负责文章编辑的程序编程,邱波同学完成运动会的分数统计程序编程,王莉同学完成一元多项式的计算程序,以及马俊兰同学完成赫夫曼数的建立的源程序的编程。最后又由我们四人共同完成所有源程序的改进、改错与运行。

我们这样的先分工后合作的方式,更加全面的让各自的编程能力做到了独立与共同的目的,几乎让各自都体会到了编程的个性化,以及锻炼了自己的编程能力。而在后期主要由,邱波同学,王莉同学,马俊兰同学负责程序的改进,改错以及完善,由我负责实验设计报告的完成。

通过这次的《数据结构与算法》课程设计实验,让我们更加的学到了不少的东西,我们通过在图书馆的相关资料查找,网上有关资料的搜索,以及重先看了又看《数据结构与算法》的教材知识,在我们共同的努力下终于完成了这次程序设计。此次课程设计使我们对数据结构方面的知识有了更加深入的了解,也使我们认识到自己在学习编程方面还有很多的不足。今后我们要多读一些编程方面的书籍,不能只拘泥于课本上的知识,并注重理论与实践的结合,多上机练习编写程序,提高自己的实际动手能力和独立思考的能力,不断充实自己,更好的掌握编程思想。

最后,非常感谢虎旭林老师在课堂上以及上机实验中对我们有关知识的细心讲解,程序编程的耐心指导下,让我们在大学没有白费光阴,学到有用的知识。也感谢帮助我们的同学及朋友,他们让我们在这门课程学习与设计中改进了不少的不足点。这份程序设计中或许还有许多地方的不足与错误,还望在老师您的发现与提醒下,让我们得到更多的改进与学习,编程能力的完美与提高。

谢谢。张林。2023年6月。

二本组成员。

张林 20100633 王莉 20100608

邱波 20100596 马俊兰 20100585

三文章编辑。

一)、需求分析。

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,共n行;

要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;

(2)统计某一字符串在文章**现的次数,并输出该次数;

(3)删除某一子串,并将后面的字符前移。

存储结构使用线性表,分别用几个子函数实现相应的功能;

输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:(1)分行输出用户输入的各行字符;

2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"

3)输出删除某一字符串后的文章;

二)、概要设计。

1、定义结构体: struct line,文本行采用顺序存储,行与行之间采用链式存储。

2、主要函数:

int findstring(line * head,char *str) /统计str在文章**现的次数*/

求在一行中str出现的次数的流程图:

.查找第一个字符,如果有第一个字符即p->data[i]==str[0],设计数器k=0

.查找这个字符后面的字符与要查找的字符串是否匹配即p->data[i+j]==str[j],如果匹配k++

.重复第二步,如果k=len2,则查找到,count++;如果没查找到,重新进行第一步。

void delstringword(char *s,char *str) /删除字符串*s中的字符串*str*/

三)、详细设计:源程序

#include <>

#include <>

typedef struct line

char *data

struct line *next;

line;

void output(line * head)

line *p=head;

printf("输入的文章为:");do

while((p=p->next)!=null);

printf("");

void menu()

printf文章编辑n");

printfn");

printf("1.统计文章中全部英文字母数n");

printf("2.统计文章中空格个数n");

printf("3.统计文章总字数n");

printf("4.统计文章中数字个数n");

printf("5.统计指定字符串在文**现的次数n");

printf("6.删除指定字符串n");

printfn");

void create(line * head)

printf ("请输入一页文章,以ctrl+e(^e)为结尾(每行最多输入80个字符):");

line *p=new line首先为链表建立一个附加表头结点。

head=p将付给表头指针。

数据结构课程设计实验报告

数据结构。课程设计报告。xx大学计算机xxxx学院。计算机系 08级软件工程专业xx班。xxx学号 0823xxxxxx 班内序号 xx 2010年11月15日。任务 参加运动会有n个学校,学校编号为1 n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1 m,女子m 1 m w。不同的项目取...

数据结构课程设计实验报告

仲恺农业工程学院。课程设计报告。2010 2011年度第1学期 名称 数据结构 课程设计 题目 学生成绩管理系统 院系 计算科学学院 班级 信息与计算科学信计091,092 学号 200911314116 200911314214 学生姓名 许建城刘汉明 指导教师 吴东庆。设计周数1作者1 许建城贡...

数据结构课程设计实验报告

江苏大学计算机学院。软件工程课程设计报告书。课程名称数据结构课程设计总评成绩。学生姓名 学号卢江涛3100608047 学生专业班级软件工程软件1002班。指导教师姓名王新胜。一 问题描述。以邻接表的方式确定有向网,完成 1.建立并显示它的邻接链表 2.以非递归的方式进行深度优先遍历,显示遍历的结果...