数据结构与算法设计报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.装入和保存文本。
设计思路:利用双向链表存储结构存储文章,每行文字存储在数组中,不超过80个字,行数保存为num。对每行文本从头到尾进行循环,读入一个字符进行计算以统计文本中的中英文字母数和空格数及整篇文章的总字数。通过对数组中字符串的操作完成查找定位的功能。通过对每行文本行号的处理能够完成删除一行或在某行前插入文本的功能。
2.为来访客人提供图中任意景点相关信息的咨询。
3.为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
设计思路:利用图的顺序存储结构将校园内各景点间关系用邻接矩阵的方式存储到计算机,图的顶点能够表示各个景点,各顶点的连线上的权值表示两个景点之间的距离。利用Floyd算法求出两个景点的最短路径,并将路径长度及经过各点显示出来。
《数据结构与算法》
课程设计报告
系别:计算机与电子系
专业班级:计算机科学与技术0901班
学生姓名:王硕
指导教师:程海英
(课程设计时间:2011年6月13日——2011年7月1日)
华中科技大学武昌分校Leabharlann Baidu
1.课程设计目的………………………………………………………………………2
2.课程设计题目及要求………………………………………………………………2
4.2不足之处…………………………………………………………………………32
4.3感谢和心得体会…………………………………………………………………32
参考文献 ……………………………………………………………………………33
1.
课程设计目的
《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
2.4利用单链表实现学生成绩管理系统
设计要求:利用单链表存储结构实现学生成绩管理系统,支持基本的数据录入、删除、查找、修改、统计和文件读写功能。整个系统由五大功能模块组成:
1.输入记录:主要完成将数据存入单链表中的工作。
2.查询记录:可按学生的姓名或学号查询。
3.更新记录:对记录的修改、删除、插入、排序。
数据结构课程设计是为数据结构课程独立开设的实践性教学环节。数据结构课程设计对于巩固数据结构知识,加强学生的实际动手能力和提高学生综合素质是十分必要的。课程设计的目的:
1.要求学生达到熟练掌握C语言的基本知识和技能。
2.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力。
3.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
3.5校园导游咨询……………………………………………………………………13
3.6简单文本编辑器设计与实现……………………………………………………17
3.7利用单链表实现学生成绩管理系统……………………………………………23
4.总结………………………………………………………………………………31
4.1开发经验…………………………………………………………………………31
4.统计记录:完成对各门功课最高分和不及格人数的统计。
5.输出记录:实现屏幕显示和将单链表中存储的记录信息写入数据文件中。
设计思路:采用模块化设计的方法,将本系统分为输入模块、查询模块、更新模块、统计模块和输出模块。分别对每个模块进行设计,最后利用统一调用的函数就能完成系统的复杂功能。输入模块将学生姓名、学号、各科成绩等数据存入单链表中。查询模块通过对学生的姓名、学号在单链表中进行查询,若能找到满足查询条件的记录,就返回该学生记录的指针,否则返回NULL空指针。更新模块能够完成特定记录的修改、删除、插入和排序。统计模块可以按照学生各门功课的最高分数或不及格人数进行统计。输出模块能够将单链表中存储的数据显示在终端或导出到数据文件中。
设计思路:使用顺序存储结构储存多项式各项的系数与指数,利用线性表的插入、删除等功能就能完成多项式的加法、减法、乘法运算。
2.2校园导游咨询
设计要求:设计一个校园导游程序,为来访的客人提供各种信息咨询服务,包括:
1.设计所在的学校的校园平面图,所含景点不少于5个。以图中顶点表示校内各景点,存放景点的名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
2.3简单文本编辑器设计与实现
设计要求:输入一页文字,采用动态存储结构存储一页文章,每行最多不超过80个字符,共N行。
功能如下:
1.分别统计出其中英文字母数和空格数及整篇文章总字数。
2.统计某一字符串在文章中出现的次数,并输出该次数。
3.在指定行前插入文本,删除指定行文本。
4.查找定位某个单词在文本中的位置。
3.详细设计描述………………………………………………………………………5
3.1运行环境…………………………………………………………………………5
3.2系统流程图………………………………………………………………………6
3.3主控main函数……………………………………………………………………7
3.4一元多项式加法、减法、乘法运算的实现………………………………………8
2.1一元多项式加法、减法、乘法运算的实现………………………………………2
2.2校园导游咨询……………………………………………………………………3
2.3简单文本编辑器设计与实现……………………………………………………3
2.4利用单链表实现学生成绩管理系统……………………………………………4
2.5课程设计要求……………………………………………………………………5
4.培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。
5.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
2.课程设计题目及要求
2.1一元多项式加法、减法、乘法运算的实现
设计要求:设计一个程序,能够完成两个一元多项式作加法、减法、乘法,给出明确的等式形式。
设计思路:利用双向链表存储结构存储文章,每行文字存储在数组中,不超过80个字,行数保存为num。对每行文本从头到尾进行循环,读入一个字符进行计算以统计文本中的中英文字母数和空格数及整篇文章的总字数。通过对数组中字符串的操作完成查找定位的功能。通过对每行文本行号的处理能够完成删除一行或在某行前插入文本的功能。
2.为来访客人提供图中任意景点相关信息的咨询。
3.为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
设计思路:利用图的顺序存储结构将校园内各景点间关系用邻接矩阵的方式存储到计算机,图的顶点能够表示各个景点,各顶点的连线上的权值表示两个景点之间的距离。利用Floyd算法求出两个景点的最短路径,并将路径长度及经过各点显示出来。
《数据结构与算法》
课程设计报告
系别:计算机与电子系
专业班级:计算机科学与技术0901班
学生姓名:王硕
指导教师:程海英
(课程设计时间:2011年6月13日——2011年7月1日)
华中科技大学武昌分校Leabharlann Baidu
1.课程设计目的………………………………………………………………………2
2.课程设计题目及要求………………………………………………………………2
4.2不足之处…………………………………………………………………………32
4.3感谢和心得体会…………………………………………………………………32
参考文献 ……………………………………………………………………………33
1.
课程设计目的
《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
2.4利用单链表实现学生成绩管理系统
设计要求:利用单链表存储结构实现学生成绩管理系统,支持基本的数据录入、删除、查找、修改、统计和文件读写功能。整个系统由五大功能模块组成:
1.输入记录:主要完成将数据存入单链表中的工作。
2.查询记录:可按学生的姓名或学号查询。
3.更新记录:对记录的修改、删除、插入、排序。
数据结构课程设计是为数据结构课程独立开设的实践性教学环节。数据结构课程设计对于巩固数据结构知识,加强学生的实际动手能力和提高学生综合素质是十分必要的。课程设计的目的:
1.要求学生达到熟练掌握C语言的基本知识和技能。
2.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力。
3.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
3.5校园导游咨询……………………………………………………………………13
3.6简单文本编辑器设计与实现……………………………………………………17
3.7利用单链表实现学生成绩管理系统……………………………………………23
4.总结………………………………………………………………………………31
4.1开发经验…………………………………………………………………………31
4.统计记录:完成对各门功课最高分和不及格人数的统计。
5.输出记录:实现屏幕显示和将单链表中存储的记录信息写入数据文件中。
设计思路:采用模块化设计的方法,将本系统分为输入模块、查询模块、更新模块、统计模块和输出模块。分别对每个模块进行设计,最后利用统一调用的函数就能完成系统的复杂功能。输入模块将学生姓名、学号、各科成绩等数据存入单链表中。查询模块通过对学生的姓名、学号在单链表中进行查询,若能找到满足查询条件的记录,就返回该学生记录的指针,否则返回NULL空指针。更新模块能够完成特定记录的修改、删除、插入和排序。统计模块可以按照学生各门功课的最高分数或不及格人数进行统计。输出模块能够将单链表中存储的数据显示在终端或导出到数据文件中。
设计思路:使用顺序存储结构储存多项式各项的系数与指数,利用线性表的插入、删除等功能就能完成多项式的加法、减法、乘法运算。
2.2校园导游咨询
设计要求:设计一个校园导游程序,为来访的客人提供各种信息咨询服务,包括:
1.设计所在的学校的校园平面图,所含景点不少于5个。以图中顶点表示校内各景点,存放景点的名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
2.3简单文本编辑器设计与实现
设计要求:输入一页文字,采用动态存储结构存储一页文章,每行最多不超过80个字符,共N行。
功能如下:
1.分别统计出其中英文字母数和空格数及整篇文章总字数。
2.统计某一字符串在文章中出现的次数,并输出该次数。
3.在指定行前插入文本,删除指定行文本。
4.查找定位某个单词在文本中的位置。
3.详细设计描述………………………………………………………………………5
3.1运行环境…………………………………………………………………………5
3.2系统流程图………………………………………………………………………6
3.3主控main函数……………………………………………………………………7
3.4一元多项式加法、减法、乘法运算的实现………………………………………8
2.1一元多项式加法、减法、乘法运算的实现………………………………………2
2.2校园导游咨询……………………………………………………………………3
2.3简单文本编辑器设计与实现……………………………………………………3
2.4利用单链表实现学生成绩管理系统……………………………………………4
2.5课程设计要求……………………………………………………………………5
4.培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。
5.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
2.课程设计题目及要求
2.1一元多项式加法、减法、乘法运算的实现
设计要求:设计一个程序,能够完成两个一元多项式作加法、减法、乘法,给出明确的等式形式。