课程设计报告-数据结构与算法课程设计(共36页).doc
《课程设计报告-数据结构与算法课程设计(共36页).doc》由会员分享,可在线阅读,更多相关《课程设计报告-数据结构与算法课程设计(共36页).doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上set talk on33. 修改本地视图使用的命令是_。一、填空(每空1分,总计30分)C. VFP基类的事件也可以由用户创建【答案】B【答案】6位【答案】C【答案】Dinput请输入第二个数: to bC. 只能根据数据库表建立视图 D. 可以根据数据库表和自由表建立视图重庆大学课程设计报告课程设计题目:数据结构与算法课程设计学院:软件学院 专业:软件工程 年级:2014级 学生:李庆(组长) 唐天 吴东 学号:(李) (唐) (吴)完成时间:2015年12月30日 成绩:指导教师:蔡斌重庆大学教务处制课程设计指导教师评定成绩表项目分值优秀(100x90)良好(9
2、0x80)中等(80x70)及格(70x60)不及格(x0)个城市去推销产品,他从某个城市出发,经历每个城市,且每个城市只能去一次,然后回到初始城市,以距离作为代价,他希望找出一个最佳路径。这N个城市相互都有道路可通,但距离各不相同,城市个数和各个城市的相通距离可由学生自己设定。学生应完成的工作:基本要求(1)可以输入城市个数(不少于10个)、输入城市信息和城市之间的距离(为整数);(2)按照输入出发城市,根据城市的距离最短给出路径选择。(3)界面要求:有合理的提示和人机交互。目前资料收集情况(含指定参考资料):1. Robert L. Kruse编. Data Structures and
3、Program Design in C+.高等教育出版社,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日指导教师 (签名)学 生 (签名)说明
4、:1、学院、专业、年级均填全称,如:光电工程学院、测控技术、2003。2、本表除签名外均可采用计算机打印。本表不够,可另附页,但应在页脚添加页码。专心-专注-专业重庆大学本科学生课程设计任务书课程设计题目文学研究助手学院软件学院专业软件学院年级2015已知参数和设计要求:问题描述文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统,称为“文学研究助手”。学生应完成的工作:基本要求英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计
5、。测试数据以你的源程序模拟英文小说,程序语言保留字集作为待统计的词汇集。实现提示设小说中的词汇一律不跨行。这样,每读入一行,就统计每个词在这行中的出现次数。出现位置所在行的行号可以用链表存储。若某行中出现了不止一次,不必存多个相同的行号。目前资料收集情况(含指定参考资料):1. Robert L. Kruse编. Data Structures and Program Design in C+.高等教育出版社,2001.2.数据结构严蔚敏编,清华大学出版社,2000.3.数据结构教程李春葆编,清华大学出版社,2002.课程设计的工作计划:本课题由李庆同学独立完成,包括绘制程序逻辑图,设计算法,
6、实现算法,撰写论文。任务下达日期 2015年 11月 10日完成日期 2015年 12月 30日指导教师 (签名)学 生 (签名)说明:1、学院、专业、年级均填全称,如:光电工程学院、测控技术、2003。2、本表除签名外均可采用计算机打印。本表不够,可另附页,但应在页脚添加页码。摘要本课程设计实验报告共解决3个问题,解决过程中涉及到大部分主流数据结构算法。其中主要有栈,递归算法,串的应用,图,图实现的深度和广度遍历。1) 回文判断将字符串按照用户输入的顺序分别入栈和队列,然后二者进行比较。根据比较结果判断序列是否为回文。2)推销员问题该问题通过A*算法选择出最短路径,通过一个打开的列表,保存了
7、打开节点的一个值记为F;每次从中取最小F值的节点打开下批子节点;一个关闭列表,将已展开的节点加入其中。3)文学助手 该问题主要是利用数据结构中串和栈知识,核心思想是串的模式匹配算法,采用易于理解且设计简单的串的朴素模式匹配算法,利用堆栈存储匹配字符串的位置。关键字:程序设计,数据结构与算法,顺序栈,队列,最短路径,模式匹配,商旅问题,图论关于回文判断 (1)问题描述试写一个算法,判断依次读入的一个以为结束符的字母序列,是否为形如序列1&序列2模式的字符序列。其中序列1和序列2中都不含字符&,且序列2是序列1的逆序列。例如,a+b&b+a是属该模式的字符序列,而+&则不是。 (2)基本要求 序列
8、1进栈,然后序列1出栈并与序列2比较。根据序列1与序列2比较结果判断序列是否为回文。 (3)算法思想1.数据结构:typedef struct char itemSTACKSIZE; int top;SqStack;使用结构体,内部定义数组模拟栈。top为栈顶指针,指向当前元素的下一个位置,itemSTACKSIZE表示栈内的元素个数。2.函数介绍:int InitStack(SqStack *S) /栈的初始化int Push(SqStack *s, char data) /入栈int Pop(SqStack *s, char *data) /出栈3.程序流程:1)将字符串按照用户输入的顺序
9、分别入栈和队列2)分别从队列和栈中取出首个字符3)比较取出的字符,若相等,继续分别从队列和栈中取首个字符;否则跳出循环,并设置标志;4)若队列和栈中的字符取完,则结束,设置标志为真;5)标志为真,表示字符从前往后和从后往前的序列完全匹配,该字符串属于回文6)标志为假,表示字符从前往后和从后往前的序列不完全匹配,该字符串不属于回文 (4)模块划分int InitStack(SqStack *S) /栈的初始化int Push(SqStack *s, char data) /入栈int Pop(SqStack *s, char *data) /出栈 (5)数据结构typedef struct ch
10、ar itemSTACKSIZE; int top;typedef struct QNode char data; struct QNode *next;typedef struct PQNode front,rear; (6)源程序#include #include #include #define STACKSIZE 1000typedef struct char itemSTACKSIZE; int top;SqStack;typedef struct QNode char data; struct QNode *next;LQNode, *PQNode;typedef struct P
11、QNode front,rear; LinkQueue;int InitStack(SqStack *S) S-top = -1; return 1;int StackEmpty(SqStack S) if(S.top = -1) return 1; else return 0;int Push(SqStack *s, char data) if(s-top = STACKSIZE - 1) printf(n栈已满,不能再进行入栈操作); return 0; s-top+; s-items-top = data; return 1;int Pop(SqStack *s, char *data)
12、 if (s-top = -1) / printf(n堆栈已空,不能再进行出栈操作); return 0; *data = s-items-top; s-top-; return 1;int InitQueue(LinkQueue *q) q-front = q-rear = (PQNode)malloc(sizeof(LQNode); if(!q-front)printf(n初始化队列失败);return 0; q-front-next = NULL; return 1;int QueueEmpty(LinkQueue q) if (q.front = q.rear) printf(n队列为
13、空); return 1; else return 0;int EnQueue(LinkQueue *q, char item) PQNode p; p = (PQNode)malloc(sizeof(LQNode); if(!p) printf(n内存分配失败); return 0; p-data = item; p-next = NULL; q-rear-next = p; q-rear = p; return 1;int DeQueue(LinkQueue *q, char *item) PQNode p; if(q-front = q-rear) / printf(n队列已空,不能出队
14、); return 0; p = q-front-next; *item = p-data; q-front-next = p-next; free(p); if(q-rear = p) /*若删除的为最后一个结点,移动队尾指针*/ q-front = q-rear; return 1;int PutOutQueue(LinkQueue q) PQNode pos; if(q.front = q.rear) printf(n队列为空); return 0; pos = q.front-next; /* printf(nHere is the string:); while(pos != NUL
15、L) printf(%c, pos-data); pos = pos-next; printf(n);*/ return 1;int main(void) int i,len,count1 = 0; char str1100,ch,ch1; LinkQueue lq1,lq2; SqStack sq; printf(请输入一个字符串:); scanf(%s, &str1); len = strlen(str1); InitQueue(&lq1); InitQueue(&lq2); InitStack(&sq);if(str1len-1=) for(i=0;ilen-1;i+) EnQueue(
16、&lq1,str1i); PutOutQueue(lq1); for(i=0;ilen-1;i+) DeQueue(&lq1,&ch); Push(&sq,ch); EnQueue(&lq1,ch); for(i=0;ilen;i+) Pop(&sq,&ch); EnQueue(&lq2,ch); PutOutQueue(lq2); for(i=0;i0)个城市去推销产品,他从某个城市出发,经历每个城市,且每个城市只能去一次,然后回到初始城市,以距离作为代价,他希望找出一个最佳路径。这N个城市相互都有道路可通,但距离各不相同,城市个数和各个城市的相通距离可由自行设定。 (2)基本要求:(1)可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 数据结构 算法 36
限制150内