最新课程设计报告数据结构与算法课程设计.docx
《最新课程设计报告数据结构与算法课程设计.docx》由会员分享,可在线阅读,更多相关《最新课程设计报告数据结构与算法课程设计.docx(39页珍藏版)》请在冰豆网上搜索。
最新课程设计报告数据结构与算法课程设计
settalkon
33.修改本地视图使用的命令是________。
一、填空(每空1分,总计30分)
C.VFP基类的事件也可以由用户创建
【答案】B
【答案】6位
【答案】C
【答案】D
input"请输入第二个数:
"tob
C.只能根据数据库表建立视图D.可以根据数据库表和自由表建立视图
重庆大学课程设计报告
课程设计题目:
数据结构与算法课程设计
学院:
软件学院
专业:
软件工程
年级:
2014级
学生:
李庆(组长)唐天吴东
学号:
20141766(李)20141779(唐)20141765(吴)
完成时间:
2015年12月30日
成绩:
指导教师:
蔡斌
重庆大学教务处制
课程设计指导教师评定成绩表
项目
分值
优秀
(100>x≥90)
良好
(90>x≥80)
中等
(80>x≥70)
及格
(70>x≥60)
不及格(x<60)
评分
参考标准
参考标准
参考标准
参考标准
参考标准
学习态度
15
学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作
学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务
学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作
学习态度尚可,能遵守组织纪律,能按期完成任务
学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度
技术水平与实际能力
25
设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信
设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信
设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信
设计基本合理,理论分析与计算无大错,实验数据无大错
设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题
创新
10
有重大改进或独特见解,有一定实用价值
有较大改进或新颖的见解,实用性尚可
有一定改进或新的见解
有一定见解
观念陈旧
论文(计算书、图纸)撰写质量
50
结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰
结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰
结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰
结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整
内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰
指导教师评定成绩:
指导教师签名:
年月日
重庆大学本科学生课程设计任务书
课程设计题目
回文判断
学院
软件学院
专业
软件工程
年级
2014
已知参数和设计要求:
[问题描述]
试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1&序列2’模式的字符序列。
其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。
例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。
学生应完成的工作:
[实现提示]
首先,序列1进栈,然后序列1出栈并与序列2比较。
[测试数据]
由学生依据软件工程的测试技术自己确定。
注意测试边界数据,如序列1和序列2均为空串。
目前资料收集情况(含指定参考资料):
1.RobertL.Kruse编.DataStructuresandProgramDesigninC++.高等教育出版社,2001.
2.《数据结构》严蔚敏编,清华大学出版社,2000.
3.《数据结构教程》李春葆编,清华大学出版社,2002.
课程设计的工作计划:
本课题由唐天同学独立完成,
第一天由其编写全部代码
第二天小组测试,讨论,修改。
最终完成此任务
任务下达日期2015年11月10日
完成日期2015年12月30日
指导教师(签名)
学生(签名)
说明:
1、学院、专业、年级均填全称,如:
光电工程学院、测控技术、2003。
2、本表除签名外均可采用计算机打印。
本表不够,可另附页,但应在页脚添加页码。
重庆大学本科学生课程设计任务书
课程设计题目
推销员问题
学院
软件学院
专业
软件工程
年级
2014
已知参数和设计要求:
[问题描述]
有一个推销员要到N(N>0)个城市去推销产品,他从某个城市出发,经历每个城市,且每个城市只能去一次,然后回到初始城市,以距离作为代价,他希望找出一个最佳路径。
这N个城市相互都有道路可通,但距离各不相同,城市个数和各个城市的相通距离可由学生自己设定。
学生应完成的工作:
[基本要求]
(1)可以输入城市个数(不少于10个)、输入城市信息和城市之间的距离(为整数);
(2)按照输入出发城市,根据城市的距离最短给出路径选择。
(3)界面要求:
有合理的提示和人机交互。
目前资料收集情况(含指定参考资料):
1.RobertL.Kruse编.DataStructuresandProgramDesigninC++.高等教育出版社,2001.
2.《数据结构》严蔚敏编,清华大学出版社,2000.
3.《数据结构教程》李春葆编,清华大学出版社,2002.
课程设计的工作计划:
本课题由吴东同学独立完成。
第一期(11.10-11.20):
接受课程任务,完成选题,并对任务初步了解;
第二期(11.21-12.10):
收集相关资料和复习基础专业知识,初步完成设计;
第三期(12.11-12.20):
对课程设计进行最终实验;
第四期(12.21-12.30):
整理并完善课程设计报告。
任务下达日期2015年11月10日
完成日期2015年12月30日
指导教师(签名)
学生(签名)
说明:
1、学院、专业、年级均填全称,如:
光电工程学院、测控技术、2003。
2、本表除签名外均可采用计算机打印。
本表不够,可另附页,但应在页脚添加页码。
重庆大学本科学生课程设计任务书
课程设计题目
文学研究助手
学院
软件学院
专业
软件学院
年级
2015
已知参数和设计要求:
[问题描述]
文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。
试写一个实现这一目标的文字统计系统,称为“文学研究助手”。
学生应完成的工作:
[基本要求]
英文小说存于一个文本文件中。
待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。
程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。
[测试数据]
以你的源程序模拟英文小说,程序语言保留字集作为待统计的词汇集。
[实现提示]
设小说中的词汇一律不跨行。
这样,每读入一行,就统计每个词在这行中的出现次数。
出现位置所在行的行号可以用链表存储。
若某行中出现了不止一次,不必存多个相同的行号。
目前资料收集情况(含指定参考资料):
1.RobertL.Kruse编.DataStructuresandProgramDesigninC++.高等教育出版社,2001.
2.《数据结构》严蔚敏编,清华大学出版社,2000.
3.《数据结构教程》李春葆编,清华大学出版社,2002.
课程设计的工作计划:
本课题由李庆同学独立完成,包括绘制程序逻辑图,设计算法,实现算法,撰写论文。
任务下达日期2015年11月10日
完成日期2015年12月30日
指导教师(签名)
学生(签名)
说明:
1、学院、专业、年级均填全称,如:
光电工程学院、测控技术、2003。
2、本表除签名外均可采用计算机打印。
本表不够,可另附页,但应在页脚添加页码。
摘要
本课程设计实验报告共解决3个问题,解决过程中涉及到大部分主流数据结构算法。
其中主要有栈,递归算法,串的应用,图,图实现的深度和广度遍历。
1)回文判断
将字符串按照用户输入的顺序分别入栈和队列,然后二者进行比较。
根据比较结果判断序列是否为回文。
2)推销员问题
该问题通过A*算法选择出最短路径,通过一个打开的列表,保存了打开节点的一个值记为F;每次从中取最小F值的节点打开下批子节点;一个关闭列表,将已展开的节点加入其中。
3)文学助手
该问题主要是利用数据结构中串和栈知识,核心思想是串的模式匹配算法,采用易于理解且设计简单的串的朴素模式匹配算法,利用堆栈存储匹配字符串的位置。
关键字:
程序设计,数据结构与算法,顺序栈,队列,最短路径,模式匹配,商旅问题,图论
关于回文判断
(1)问题描述
试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1&序列2’模式的字符序列。
其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。
例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。
(2)基本要求
序列1进栈,然后序列1出栈并与序列2比较。
根据序列1与序列2比较结果判断序列是否为回文。
(3)算法思想
1.数据结构:
typedefstruct{
charitem[STACKSIZE];
inttop;
}SqStack;
使用结构体,内部定义数组模拟栈。
top为栈顶指针,指向当前元素的下一个位置,item[STACKSIZE]表示栈内的元素个数。
2.函数介绍:
intInitStack(SqStack*S)//栈的初始化
intPush(SqStack*s,chardata)//入栈
intPop(SqStack*s,char*data)//出栈
3.程序流程:
1)将字符串按照用户输入的顺序分别入栈和队列
2)分别从队列和栈中取出首个字符
3)比较取出的字符,若相等,继续分别从队列和栈中取首个字符;否则跳出循环,并设置标志;
4)若队列和栈中的字符取完,则结束,设置标志为真;
5)标志为真,表示字符从前往后和从后往前的序列完全匹配,该字符串属于回文
6)标志为假,表示字符从前往后和从后往前的序列不完全匹配,该字符串不属于回文
(4)模块划分
intInitStack(SqStack*S)//栈的初始化
intPush(SqStack*s,chardata)//入栈
intPop(SqStack*s,char*data)//出栈
(5)数据结构
typedefstruct{
charitem[STACKSIZE];
inttop;
}
typedefstructQNode{
chardata;
structQNode*next;
}
typedefstruct{
PQNodefront,rear;
}
(6)源程序
#include
#include
#include
#defineSTACKSIZE1000
typedefstruc