西安邮电大学数据结构课程设计

合集下载

完整word版数据结构课设报告word文档良心出品

完整word版数据结构课设报告word文档良心出品

西安邮电大学(计算机学院)数据结构课程设计报告题目:哈弗曼编/译码器计算机科学与技术专业名称:1505 计科级:班常昊学生姓名:04151160 学号(8位):指导教师:设计起止时间:日月年2016122612年日—2016月30一. 设计目的1.训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。

2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。

二. 设计内容利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。

但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。

三.概要设计1.建立哈夫曼树:读入文件(*.souce),统计文件中字符出现的频度,并以这些字符的频度作为权值,建立哈夫曼树。

这一步需要做字符的统计所以考虑到大量数据的处理,需要考虑时间复杂度带来的影响。

所以采用牺牲一定的存储空间的方法,以哈希表的方法完成统计。

因为字符的ascll码是0~128不重复的整数,所以采用不散列的简单哈希表。

(例如:对于abcdabbccc的串的处理——遍历字符串,HZArray[char[i]].HZ++)。

在完成频数的统计后,下一步对整个128的数组中的频数非零的字符按照从小到大的顺序排序。

考虑到稳定/非稳定排序对于本题没有什么影响,而且对于128的排序总数来说各种排序的方法时间复杂度相对计算机的性能不会相差多少,所以采用简单冒泡排序,而且,每次的排序实际数量都不会很多,加上flag的优化以后排序效率还是不错的。

完成排序后,根据哈弗曼树的性质,直接依据有序序列建立哈弗曼树。

西安邮电大学 数字电路课程设计报告书 ——交通灯控制器

西安邮电大学  数字电路课程设计报告书 ——交通灯控制器
二 实验任务与要求
红绿灯交通信号系统外观示意图如图所示。
1.在十字路口的两个方向上各设一组红黄绿灯,显示顺序为其中一方向是绿灯、黄灯、红灯;另一方向是红灯、绿灯、黄灯。
2.设置一组数码管,以倒计时的方式显示允许通行或禁止通行时间,其中一个方向上绿灯亮的时间是20s,另一个方向上绿灯亮的时间是30s,黄灯亮的的时间都是5s。
设计时序如下:
东西向
南北向
4.电路框图设计:
说明:脉冲输出部分为555时基芯片构成的多次谐波振荡器,由其产生周期为1s的时钟脉冲信号。计时控制部分主要由两片74LS161(十六进制同步加法计数器)及逻辑门电路构成。产生30s、20s和5s的倒计时信号。彩灯控制部分将计时控制部分输出的信号通过逻辑门电路及74LS139(双2—4线译照响应时序显示,并将74LS139的输出信号反馈回计时控制部分实现三种倒计时之间的切换。数字显示部分主要由74LS48(7段显示译码器)、74LS04(反相器)及8段共阴极数码管构成,通过接入计时控制部分的信号实现倒计时显示。
3.用两组数码管,实现双向倒计时显示。
三.实现方案:
实现这个交通灯控制器可以采用FPGA、单片机等可编程器件或基本数字逻辑器件实现。在这次实验中采用74系列数字集成芯片和555时基芯片实现相应功能。本报告最后附有使用MULTISIM仿真软件进行的仿真电路图。
四.具体功能分析:
此电路为十字路口交通灯控制电路,要求东西向和南北向不能同时出现绿(黄)灯,发生“撞车”现象。即当某一方向为绿灯或黄灯时,另一方向必为红灯。东西向主通路有倒计时显示。
电容C1放电时,暂稳态持续时间为
tw2=0.7R2C=0.7×150k×4.7μ≈0.5s
因此,电路输出矩形脉冲的周期为T= tw1+tw2≈1s输出占空比为q=tw1/T≈50%

826数据结构

826数据结构

西安邮电大学硕士研究生招生考试大纲科目代码:826科目名称:《数据结构》一、课程性质和任务数据结构是计算机各专业的专业基础课。

它是操作系统、数据库、编译原理等所有软件专业基础课和专业课的重要基础;它还是进行程序设计,尤其是进行高水平的应用程序和系统程序必不可少的基础。

通过本课程的学习,使学生掌握数据组织、存储和运算的基本原理和方法,培养学生对各类数据结构和相关算法的分析和设计的能力,使学生能够编写出正确、清晰和较高质量的算法和程序。

二、课程教学内容和要求第一章数据结构和算法1.了解数据结构、逻辑结构、存储结构和抽象数据类型的基本概念。

2.了解数据结构的发展和地位。

3.了解各种算法描述方法和算法设计的基本要求。

4.掌握对算法的评价标准和算法效率的度量方法。

第二章线性表1.理解线性表的概念、定义、逻辑结构和存储结构。

2.熟练掌握线性表的顺序结构及其各种基本运算。

3.熟练掌握单链表、循环链表、双向链表的存储结构及其各种基本运算。

4.理解链表的应用——稀疏多项式存储和运算。

第三章栈和队列1.掌握栈的定义、表示、实现和应用。

2.掌握递归的概念和递归的实现过程。

3.掌握队列的定义以及顺序(循环队列)和链式存储结构的实现。

第四章串1.了解串的基本概念及顺序和链式存储结构。

2.掌握串的各种基本运算。

3.了解串的模式匹配算法。

第五章数组和广义表1.掌握数组的顺序存储结构。

2.理解稀疏数组的概念和压缩存储的方法。

3.理解稀疏矩阵的三元组存储结构和基本运算。

4.了解稀疏矩阵的十字链表存储结构。

5.理解广义表的基本概念,掌握广义表的存储结构。

第六章树1.理解树的基本概念及其存储结构。

2.熟练掌握二叉树的定义、性质以及各种存储结构和遍历算法。

3.掌握线索二叉树的概念、存储结构及线索化算法。

4.掌握树和森林与二叉树间的转换,掌握树和森林的遍历算法。

5.掌握哈夫曼树的概念、存储结构和应用。

第七章图1.理解图的基本概念,掌握图的邻接矩阵和邻接表的存储结构。

数据结构课程设计报告含代码完整版

数据结构课程设计报告含代码完整版

数据结构课程设计报告含代码HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】西安邮电学院数据结构课程设计报告题目:校园导航系统院系名称:计算机学院专业名称:计算机科学与技术班级:学生姓名:学号(8位):指导教师:设计起止时间:2011年12月11日~2011年12月15日一. 设计目的1.通过本次课程设计巩固《数据结构》中所学的内容;2.提高自己上机编程以及调试能力。

二. 设计内容1.设计所在学校的校园平面图,所含景点不少于10个。

以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

2.为来访客人提供图中任意景点相关信息的查询。

3.为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

三.概要设计1.功能模块图;2.各个模块详细的功能描述。

1. 可以手动创建一个校园图。

2. 可以直接从文件读取校园各个景点的信息。

3. 可选择从任意个景点作为起点进行遍历。

4. 输入景点序号查询该景点相关信息。

5. 输入两个景点查询两个景点的最短,最佳及其所有的路径。

6. 将校园图信息保存入文件。

四.详细设计1.功能函数的调用关系图2.各功能函数的数据流程图1. Adjmatrix *g即结构体对象在main()中被创建在其他子函数中进行参数传递。

2. 全局变量visited数组中用。

3. 全局变量shorest[][],path[][]在floyd()中被赋值来分别记录v[i]-v[j]最短路径和 v[i]-v[j]所经过景点。

3.重点设计及编码两景点最短距离弗洛伊德算法void floyd(adjmatrix *g){int i,j,k;for(i=0;i<g->vexnum;i++)for(j=0;j<g->vexnum;j++)shortest[i][j]=0;for(i=0;i<g->vexnum;i++)for(j=0;j<g->vexnum;j++){shortest[i][j]=g->arcs[i][j].adj;path[i][j]=0;}for(i=0;i<g->vexnum;i++)for(j=0;j<g->vexnum;j++)for(k=0;k<g->vexnum;k++)if(shortest[i][j]>(shortest[i][k]+shortest[k][j])){shortest[i][j]=shortest[i][k]+shortest[k][j];path[i][j]=k;path[j][i]=k;}}五.测试数据及运行结果1.正常测试数据和运行结果要求提供3组正常测试数据和运行结果2(遍历功能)1(起始景点序号)1 校门呈长方形,校训:爱国、求实、奋进2 喷泉呈鸽子形状,喷射出水花3 教学楼传授知识和学习知识4 实验楼供学生进行课程实验和教师办公5 洗浴中心供学生洗澡,内设单人间和双人间6 美食广场仅一层,快餐味道不错7 图书馆共七层,存储大量书籍供学生查阅和学习8 旭日苑共三层,主要的就餐场所9 体育馆内设篮球场,羽毛球场和观看席10 宿舍休息的场所5(查询景点信息)2(景点序号)2 喷泉呈鸽子形状,喷射出水花6(查询两景点最短路径)1 9(两景点序号)1->2->7->91->9 最短距离:570米2.异常测试数据及运行结果要求提供2组异常测试数据和运行结果9无此功能模块请重新输入5(功能模块)11(景点序号)无此景点请重新输入六.调试情况,设计技巧及体会1.改进方案1. 可将景点文件,边文件及账户密码合并为一个文件。

西安邮电大学-(数据结构)校园导游系统课程教学设计报告

西安邮电大学-(数据结构)校园导游系统课程教学设计报告

西安郵電大學数据结构课程设计报告书崔斌专业名称 计算机科学与技术专业计科1106系部名称计算机学院 学生姓名04111185指导教师2012年12月15日 至 间2012年12月21日实验题目:校园导游系统一、实验目的① :为了让非本校的同学们,家长们能够充分了解本校 ---西安邮电大学。

② :实践数据结构所学知识。

二、实验内容学校简易的俯视图。

各个景点的简单介绍。

任意两景点之间的所有路径。

任意两景点之间的最少中转景点路径。

任意两景点之间的带权路径长度。

三、需求分析①: ②: ③: ④: ⑤:Init();初始化两个顺序栈Menu();进行选择的模块函数;Intro();景点介绍函数;SearchO;判断是否有此编号的景点;Fin dall path();找路径函数;Fin dallway();找任意两个景点之间的所有路径;(存在栈里面) ShortestwayO;任意两个景点之间中转次数最少的路径;(从栈里面读取出来) NicewayO;任意两个景点之间总权值最小的路径;(从栈里面读取出来) Calculate();(从栈里面读取出来相关数据),进行分析运算;Byebye();你懂得!四、概要设计1、方案设计对系统进行分析,给出景区图+++++++++++牛++++++++¥++++占-I-ILnJ一戸IJ]一(一恃//思想;递归结合循环,然后,找到终点时还要回溯;两点之间的所有路径void findallway(adjlist *G,int m,int n)//int i,t,k;arcnode *p;p a_th rp;p ush(s,m);G->vertex[m-1].flag=1;if(m==n)rp .sumweight=k=calculate(G);rp .sum=s->t op;rp.num=(y+1);p ush1(&z,r p);printf(" 路径%3d 为(途径%2d 个景点,长度为%3d) : ",y+1,s->top,k);for(i=O;iv=s->t op ;i++)p rintf("->%d",s->elem[i]);p rintf("\n");G->vertex[m-1].flag=1;y++;//外部全局变量二for(p=G->vertex[m-1].firstarc ;p!=NULL ;p=p-> nextarc)t=p->num;if(G->vertex[t-1].flag==0)findallway(G,t,n);G->vertex[s->elem[s->to p]-1].flag=0;// pop s(s);}//从文件里读取数据;错误1 ;不知道此节点有几个邻接点,因为%s 的原因,就会只把第一个节点的相关数据读出来,从第二个节点的相关信息处,开始读出错误(即烫烫烫烫烫烫烫烫烫烫烫)不超过m;错误2 ;读文件时,因为有链表的部分,就按照单链表的创建些写,结果总是此节点的 最后一个邻接点没被读到内存里,究其原因,是最后一个 (不仅我把 p2->nextarc=NULL;还把 free(p1);)void readnet(adjlist *G) {int i,count,m;arcnode *head,* p2,* p1; FILE *fp;fp=fo pen(U,"rt"); if(fp==NULL) {printf(-文件打开失败! ! ");exit(0);}for(i=0;i<vnum;i++) {fscanf(fp,"%d %s %s %d %d",&G->vertex[i].num,G->vertex[i].name,G->vertex[i].introduce,&G->vertex[ i].sum,&G->vertex[i].flag);//fprintf()的''后面不加第一个空格也可以。

大学数据结构课程设计

大学数据结构课程设计

大学数据结构课程设计一、课程目标知识目标:1. 理解数据结构的基本概念,掌握线性表、树、图等常见数据结构的特点及其应用场景。

2. 学会分析不同数据结构在解决具体问题时的性能差异,能够选择合适的数据结构优化程序性能。

3. 掌握各类数据结构的存储表示方法,以及基本操作算法的实现。

技能目标:1. 培养学生运用数据结构解决实际问题的能力,能够设计和实现小型算法程序。

2. 培养学生运用递归思想解决问题的能力,掌握递归算法的设计与实现。

3. 提高学生的编程实践能力,通过实验和项目练习,熟练运用所学数据结构进行程序设计。

情感态度价值观目标:1. 培养学生积极探究数据结构相关知识的学习兴趣,激发学生的学习热情和主动性。

2. 培养学生的团队协作精神,通过小组讨论和实践项目,提高沟通与协作能力。

3. 培养学生具备良好的程序设计素养,遵循编程规范,注重代码质量和性能优化。

课程性质:本课程为计算机专业核心课程,旨在使学生掌握数据结构的基本理论、方法和技能,为后续算法分析、软件工程等课程打下坚实基础。

学生特点:大学二年级学生,已具备一定的编程基础和算法知识,具备独立思考和学习的能力。

教学要求:结合课程特点和学生实际,注重理论与实践相结合,强调学生动手实践,培养学生解决实际问题的能力。

在教学过程中,关注学生的学习进度和反馈,及时调整教学策略,确保课程目标的实现。

通过本课程的学习,使学生能够具备扎实的理论基础和较强的实践能力,为未来从事计算机相关领域工作打下坚实基础。

二、教学内容本课程教学内容主要包括以下几部分:1. 数据结构基本概念:介绍数据结构的基本概念、分类及其应用场景,分析不同数据结构的特点。

- 教材章节:第1章 数据结构绪论- 内容列举:线性结构、非线性结构、抽象数据类型等。

2. 线性表:讲解线性表的定义、存储表示(顺序存储、链式存储),以及基本操作(插入、删除、查找等)。

- 教材章节:第2章 线性表- 内容列举:顺序表、链表、栈、队列等。

西安邮电大学linux操作系统课程设计ls的编写含源码

西安邮电大学linux操作系统课程设计ls的编写含源码

西安郵電大學操作系统课程设计报告书院系名称:计算机学院学生姓名:专业名称:软件工程班级:班学号:时间:2015 年4月13 日至2015 年4月24 日1实验目的操作系统是控制和管理计算机硬件和软件资源的虚拟机,其中的文件系统是对软件和设备进行管理的系统,文件系统是操作系统中非常重要的一个模块,它的实现占用了操作系统源码的最大编码量,其好坏也直接影响着用户对操作系统的感受程度。

通过对操作系统课程设计的实践,进一步加深对文件系统的认识和理解,并在此基础上培养学生的工程应用能力。

实验分别从用户态和内核态两个层次实践文件系统的部分功能。

2实验任务2.1 ls实现在linux下编程实现带参数的shell命令ls,ls命令必须支持如下功能。

1.基本要求(1)支持-l 参数;(2)输出结果按字典排序;(3)列出“.”文件,支持-a参数,在没有-a时候不显示隐藏文件;(4)显示记录总数。

2.高级要求(1)支持对给定的目录进行操作,如ls /tmp;(2)输出结果分栏排序,每栏的宽度由这一栏最长的文件名决定,显示的栏数还受终端显示器的宽度影响,每一列尽可能的等宽;(3)正确显示文件特殊属性suid、sgid和sticky,参见联机帮助确保程序能处理各种情况;(4)支持标准的ls支持选项-R,它的功能是递归地列出目录中所有的文件包含子目录中的文件;(5)支持标准的ls支持选项-u,它会显示出文件的最后访问时间,如果用了-u而不用-l,会有什么结果?;(6)当关掉一个文件的读权限,就不能打开这个文件来读。

如果从一个终端登录,打开一个文件,保持文件的打开状态,然后从另外的终端登录,去掉文件的读权限,这时有什么事情会发生?编写一个程序,先用open()打开一个文件,用read()读一些内容,调用sleep()等待20s以后,再读一些内容,从另外的终端,再等待的20s内去掉文件的读权限,这样会有什么结果?。

2.2编写内核模块显示目录或文件的信息。

大学数据结构教案设计

大学数据结构教案设计

课程名称:数据结构授课对象:计算机科学与技术专业、软件工程专业等相关专业学生授课时间:2课时教学目标:1. 了解数据结构的基本概念和分类。

2. 掌握线性表、栈、队列、串、树等基本数据结构及其操作。

3. 理解算法设计的基本原则和常用算法。

4. 培养学生分析和解决实际问题的能力。

教学重点:1. 数据结构的基本概念和分类。

2. 线性表、栈、队列、串、树等基本数据结构及其操作。

教学难点:1. 数据结构的存储实现。

2. 算法设计的基本原则和常用算法。

教学过程:一、导入新课1. 通过实例引出数据结构的概念,如线性表、栈、队列等。

2. 简要介绍数据结构在计算机科学中的应用。

二、讲解基本概念1. 数据结构的基本概念和分类。

2. 线性表、栈、队列、串、树等基本数据结构及其操作。

三、讲解线性表1. 线性表的存储结构:顺序存储和链式存储。

2. 线性表的运算:插入、删除、查找等。

四、讲解栈和队列1. 栈和队列的存储结构:顺序存储和链式存储。

2. 栈和队列的运算:入栈、出栈、入队、出队等。

五、讲解串1. 串的定义和存储结构。

2. 串的运算:连接、查找、替换等。

六、讲解树1. 树的定义和存储结构。

2. 树的遍历方法:前序遍历、中序遍历、后序遍历等。

3. 树的查找和排序。

七、讲解算法设计1. 算法设计的基本原则。

2. 常用算法:冒泡排序、选择排序、插入排序等。

八、课堂练习1. 完成课后习题,巩固所学知识。

2. 针对实际应用问题,设计相应的数据结构和算法。

九、总结1. 回顾本节课所学内容,总结数据结构的基本概念和分类。

2. 强调算法设计在数据结构中的重要性。

教学评价:1. 课堂参与度:学生能否积极参与课堂讨论,提出问题。

2. 课后作业完成情况:学生能否独立完成课后习题,解决实际问题。

3. 考试成绩:学生在期末考试中的表现。

大学数据结构教案模板(3篇)

大学数据结构教案模板(3篇)

第1篇课程名称:数据结构授课教师:[教师姓名]授课班级:[班级名称]授课时间:[具体日期]课时安排:[课时数]教学目标:1. 理解数据结构的基本概念和特点,掌握常见数据结构(如线性表、栈、队列、树、图等)的定义、存储结构和操作算法。

2. 能够运用所学知识设计、分析和实现各种数据结构,解决实际问题。

3. 培养学生的逻辑思维能力、抽象思维能力和编程能力。

教学重难点:1. 数据结构的基本概念和特点2. 常见数据结构的存储结构和操作算法3. 数据结构的应用和实现教学准备:1. 教师准备PPT、教材、实验指导书等教学资源2. 学生预习教材,了解数据结构的基本概念和特点教学过程:一、导入1. 引入数据结构的概念,阐述数据结构在计算机科学中的重要性。

2. 简要介绍本课程的教学目标、教学重难点和教学进度。

二、讲授新课1. 线性表a. 定义和特点b. 存储结构(顺序存储、链式存储)c. 操作算法(插入、删除、查找等)2. 栈a. 定义和特点b. 存储结构(顺序存储、链式存储)c. 操作算法(入栈、出栈、判断栈空等)3. 队列a. 定义和特点b. 存储结构(顺序存储、链式存储)c. 操作算法(入队、出队、判断队列空等)4. 树a. 定义和特点b. 常见树结构(二叉树、二叉搜索树、堆等)c. 操作算法(遍历、查找、插入、删除等)5. 图a. 定义和特点b. 存储结构(邻接矩阵、邻接表)c. 操作算法(图的遍历、最短路径、最小生成树等)三、课堂练习1. 学生根据所学知识,完成课后习题。

2. 教师选取典型题目进行讲解,帮助学生巩固所学知识。

四、实验指导1. 引导学生了解实验目的和实验内容。

2. 学生分组进行实验,教师巡回指导。

3. 学生完成实验报告,教师批改并给予反馈。

五、课堂小结1. 总结本节课所学内容,强调重点和难点。

2. 提出思考题,引导学生课后继续学习。

六、课后作业1. 完成课后习题,巩固所学知识。

2. 预习下一节课内容,为下一节课的学习做好准备。

(完整word版)数据结构课程设计(哈夫曼编码)

(完整word版)数据结构课程设计(哈夫曼编码)

目录目录 (1)1 课程设计的目的和意义 (3)2 需求分析 (5)3 系统设计 (6)(1)设计思路及方案 (6)(2)模块的设计及介绍 (6)(3)主要模块程序流程图 (9)4 系统实现 (14)(1)主调函数 (14)(2)建立HuffmanTree (14)(3)生成Huffman编码并写入文件 (18)(4)电文译码 (19)5 系统调试 (22)小结 (25)参考文献 (26)附录源程序 (27)1 课程设计的目的和意义在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视。

哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。

哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。

树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0"码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1"的序列作为和各个对应的字符的编码,这就是哈夫曼编码。

通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。

电报通信是传递文字的二进制码形式的字符串。

但在信息传递时,总希望总长度尽可能最短,即采用最短码。

作为软件工程专业的学生,我们应该很好的掌握这门技术。

在课堂上,我们能过学到许多的理论知识,但我们很少有过自己动手实践的机会!课程设计就是为解决这个问题提供了一个平台。

在课程设计过程中,我们每个人选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。

这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。

在课程设计过程中,我们不但有自己的独立思考,还借助各种参考文献来帮助我们完成系统。

更为重要的是,我们同学之间加强了交流,在对问题的认识方面可以交换不同的意见.同时,师生之间的互动也随之改善,我们可以通过具体的实例来从老师那学到更多的实用的知识。

数据结构与算法(Python版)《数据结构课程设计》教学大纲

数据结构与算法(Python版)《数据结构课程设计》教学大纲

《数据结构课程设计》教学大纲课程名称:数据结构课程设计适用专业:计算机科学与技术先修课程:数据结构学分:4总学时:60一、课程简介数据结构课程设计是为数据结构课程独立开设的一门实验课程。

数据结构课程设计是让学生综合运用数据结构课程中学到的几种典型数据结构,自行实现一个较为完整的应用系统的设计与开发。

其主要目的是使学生通过系统分析、系统设计、编程调试、写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用,进一步提高分析问题和解决问题的能力,提高程序设计水平。

二、课程目标目标1:掌握数据结构基本理论及相关算法,提出具体问题的正确数据结构表述和问题的合理解决方案和设计思想,培养学生对实际问题分析和设计能力。

目标2:能够针对特定问题进行探索,在编程环境中实现该问题的程序开发,培养学生实践动手能力。

目标3:针对特定问题的算法程序,进行实验数据验证和实验结果分析,并评价解决方案的性能,培养学生测试和分析能力。

三综合实践教学内容及要求(1)前期准备阶段1.教学内容:教师给学生讲解本课程设计的题目要求;学生完成选题及前期准备工作。

2.基本要求:(1)了解题目的基本要求,完成选题工作;(2)理解处理数据的逻辑结构、存储结构和解决问题的算法描述;(3)完成所选题目的概要设计,形成完整的设计方案。

3.重点及难点:重点:数据的逻辑结构、存储结构和相关算法的分析和设计。

难点:解决问题的算法分析和设计。

4.形成的成果及课外学习要求(1)要求学生完成题目的选取;(2)要求学生完成所选题目的概要设计;(3)要求学生想成所选题目的设计方案。

(2)设计实现阶段1.教学内容:学生在编程环境中完成程序的编辑、链接、运行和调试,形成功能正确的可执行文件,完成设计任务。

2.基本要求:(1)具备程序的编辑、链接、运行和调试能力;(2)具备系统开发设计能力;(3)能够在编程环境中实现课程设计题目的程序开发。

大大数据结构课程设计导航图

大大数据结构课程设计导航图

西安邮电大学(计算机学院)数据结构设计报告题目:导航图专业名称:软件工程班级:班学生姓名:学号(8位):指导教师:设计起止时间:2014年12月15日—2014年12月26日一.设计目的1.数据结构课程设计是让学生综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发2.通过课程设计,使学生通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。

3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力二. 设计内容我设计的是旅游查询系统,是用于校园的,任何景区都可以用。

对于游客来说,游客可以查询要游览的景点,可以显示出该景点的相关信息,景点等级。

也可以输入起点和终点,找到一条最短路径,或者这两点之间所有路径。

或者输入起点,自动生成一个全程最短的游览路线。

当然游客也可以查看校园的平面图。

对于管理员来说,管理员可以增,删,改景点和道路信息。

三.概要设计1.功能模块图;旅游查询系统2.各个模块详细的功能描述。

1.浏览全景显示校园的平面图,让游客大概的了解校园的形貌,以及各个景点的位置。

2.显示所有景点和路线将所有景点和路线以列表的形式显示出来,包括景点名称,景点等级,景点描述;路线也有道路名称,道路距离,道路的起点终点。

3.最短行程查询输入起点,显示该起点到其它所有景点的最短路径。

4.最佳游览全景路线输入起点,生成一个最小联通路径,这样游客便能以最少的行程来游览所有景点。

5.两点之间所有路线输入起点和终点,显示出这两点之间的所有路线供游客选择。

四.详细设计12.各功能函数的数据流程图3.重点设计及编码用DFS得出两点之间所有路线,首先输入起点和终点名称,找到其名称的下标,以起点下标开始进行深度优先遍历,每遍历到下一个邻接点让其进栈,并判断其下标是否和终点下标相同,如果相同则输出栈内所有元素,并将栈顶出栈,若不相同,继续遍历。

西邮嵌入式课程设计

西邮嵌入式课程设计

西邮嵌入式课程设计一、课程目标知识目标:1. 掌握嵌入式系统的基本概念、组成原理及发展历程。

2. 学习嵌入式编程的基础知识,如C语言编程、数据结构与算法。

3. 了解嵌入式系统在不同领域的应用,培养跨学科思维能力。

技能目标:1. 能够运用所学知识进行简单的嵌入式程序设计。

2. 掌握使用嵌入式开发工具,如Keil、IAR等,进行代码编写、调试与优化。

3. 培养学生的动手实践能力,能够独立完成嵌入式项目的设计与实现。

情感态度价值观目标:1. 培养学生对嵌入式技术的兴趣,激发创新精神,树立工程意识。

2. 培养学生良好的团队合作精神,提高沟通与协作能力。

3. 使学生认识到嵌入式技术在国家经济发展和国防建设中的重要作用,增强社会责任感和使命感。

本课程针对西邮嵌入式课程设计,结合学科特点、学生年级(假设为大学二年级)及教学要求,注重理论与实践相结合,培养学生具备扎实的嵌入式系统知识体系和实践能力。

课程目标具体、可衡量,旨在帮助学生和教师明确课程预期成果,为后续教学设计和评估提供依据。

二、教学内容1. 嵌入式系统概述- 嵌入式系统的基本概念与组成- 嵌入式系统的发展历程与趋势- 嵌入式系统的应用领域2. 嵌入式编程基础- C语言编程:语法、数据类型、运算符、控制结构等- 常用数据结构与算法- 嵌入式编程规范与技巧3. 嵌入式系统设计与开发- 嵌入式硬件系统设计:微控制器选型、外围电路设计- 嵌入式软件系统设计:系统架构、模块划分、编程接口- 嵌入式系统调试与优化4. 嵌入式系统实践- 使用Keil、IAR等开发工具进行程序编写与调试- 嵌入式项目案例分析与实践- 嵌入式系统综合设计与实现教学内容根据课程目标进行选择和组织,确保科学性和系统性。

教学大纲明确教学内容安排和进度,与教材章节相对应。

教学内容涵盖嵌入式系统的基础理论、编程技能、设计与开发方法以及实践环节,旨在帮助学生全面掌握嵌入式技术,为实际应用打下坚实基础。

(完整word版)数据结构课设报告(word文档良心出品)

(完整word版)数据结构课设报告(word文档良心出品)

西安邮电大学(计算机学院)数据结构课程设计报告题目:哈弗曼编/译码器专业名称:计算机科学与技术班级:计科1505学生姓名:常昊学号(8位):04151160指导教师:设计起止时间:2016年12月26日—2016年12月30日一. 设计目的1.训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。

2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。

二. 设计内容利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。

但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。

三.概要设计1.建立哈夫曼树:读入文件(*.souce),统计文件中字符出现的频度,并以这些字符的频度作为权值,建立哈夫曼树。

这一步需要做字符的统计所以考虑到大量数据的处理,需要考虑时间复杂度带来的影响。

所以采用牺牲一定的存储空间的方法,以哈希表的方法完成统计。

因为字符的ascll 码是0~128不重复的整数,所以采用不散列的简单哈希表。

(例如:对于abcdabbccc 的串的处理——遍历字符串,HZArray[char[i]].HZ++)。

在完成频数的统计后,下一步对整个128的数组中的频数非零的字符按照从小到大的顺序排序。

考虑到稳定/非稳定排序对于本题没有什么影响,而且对于128的排序总数来说各种排序的方法时间复杂度相对计算机的性能不会相差多少,所以采用简单冒泡排序,而且,每次的排序实际数量都不会很多,加上flag的优化以后排序效率还是不错的。

完成排序后,根据哈弗曼树的性质,直接依据有序序列建立哈弗曼树。

数据结构课程设计说明书格式

数据结构课程设计说明书格式

中北大学数据结构课程设计说明书2011年12月20日1.设计任务概述1、数据输入输出:原始数据要求输入二叉树的7个结点:1234567,输出的是一个二叉树,这就实现了二叉树的建立过程。

然后对二叉树进行线索化。

对其进行插入:在7结点处插入结点8;删除:删除结点8;恢复线索等功能。

进行二叉树的初始化,依次输入,以#结束:1234567#****************************1、进行二叉树线索化2、进行插入操作3、删除4、中序输出5、线索输出0、退出请选择:1已经实现二叉树的线索化,可选择5查看线索2、设计算法测试用例:(1)输入结点:1234567;(2)对输入的二叉树进行线索化;(3)查看二叉树的中序线索输出:4->2->5->1->6->3->7;(4)在7结点处插入结点8,此时完成线索化恢复,查看二叉树的中序线索输出:4->2->5->1->6->3->8->7;(5)删除结点8,此时完成线索化恢复,发现结点8,ltag=1,rtag=1,查看二叉树的中序线索输出:4->2->5->1->6->3->7;(6)继续删除结点r,发现无该结点,则输入错误。

2.本设计所采用的数据结构所采用的数据结构有队列和二叉树3.功能模块详细设计3.1 详细设计思想建立二叉树(即指在内存中建立二叉树的存储结构),建立一个二叉链表,需按某种顺序一次输入二叉树中的结点,且输入顺序必须隐含结点间的逻辑结构信息。

对于一般的二叉树,需添加虚结点,使其成为完全二叉树。

关键在于如何将新结点作为左孩子和右孩子连接到它的父结点上。

可以设置一个队列,该队列是一个指针类型的数组,保存已输入的结点地址。

操作:(1)令队头指针front指向其孩子结点当前输入的建立链接的父结点,队尾指针rear指向当前输入的结点,初始:front=1,rear=0;(2)若rear为偶数,则该结点为父结点的左孩子;若rear为奇数,则该结点的右孩子;若父结点和孩子结点为虚结点,则无需链接。

大学数据结构教案设计模板

大学数据结构教案设计模板

课程名称:数据结构授课对象:计算机科学与技术专业本科生课时安排:共XX课时一、教学目标1. 知识目标:(1)使学生掌握数据结构的基本概念和分类;(2)理解并掌握常见的数据结构及其特点;(3)了解数据结构的逻辑结构和物理结构;(4)掌握基本的数据结构操作算法。

2. 能力目标:(1)培养学生分析问题和解决问题的能力;(2)提高学生的编程能力和算法设计能力;(3)培养学生运用数据结构解决实际问题的能力。

3. 素质目标:(1)培养学生的逻辑思维能力和抽象思维能力;(2)提高学生的团队合作意识和沟通能力;(3)培养学生的创新精神和实践能力。

二、教学内容1. 数据结构概述2. 数组与特殊矩阵3. 链表4. 栈与队列5. 树与二叉树6. 图7. 查找与排序算法三、教学进程安排1. 第一阶段(XX课时):数据结构概述、数组与特殊矩阵2. 第二阶段(XX课时):链表、栈与队列3. 第三阶段(XX课时):树与二叉树4. 第四阶段(XX课时):图5. 第五阶段(XX课时):查找与排序算法四、教学方法与手段1. 讲授法:系统讲解数据结构的基本概念、特点、操作算法等;2. 讨论法:引导学生对数据结构的应用场景、优缺点等进行讨论;3. 案例分析法:结合实际案例,讲解数据结构在解决实际问题中的应用;4. 实践法:通过编程实验,让学生动手实现数据结构的相关操作;5. 多媒体教学:利用PPT、视频等多媒体手段,提高教学效果。

五、教学资源1. 教材:《数据结构》2. 参考书籍:《数据结构与算法分析》3. 网络资源:MOOC、公开课、代码示例等六、作业与评估1. 课后作业:每节课后布置相应的编程练习,巩固所学知识;2. 期中考试:考察学生对数据结构基本概念、操作算法的掌握程度;3. 期末考试:综合考察学生对数据结构的理解、应用能力。

七、教学进度安排1. 第一周:介绍课程、讲解数据结构概述;2. 第二周至第四周:讲解数组与特殊矩阵、链表、栈与队列;3. 第五周至第七周:讲解树与二叉树;4. 第八周至第十周:讲解图、查找与排序算法;5. 第十一周至第十二周:复习巩固,准备期中考试;6. 第十三周至第十四周:讲解数据结构在实际问题中的应用,布置期末考试题目。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安郵電大學数据结构课程设计报告书系部名称计算机学院学生姓名专业名称班级学号指导教师衡霞2012年12月15日至时间2012年12月21日实验题目**市著名景点导游系统一、实验目的1.通过本次课程设计巩固《数据结构》课程中的所学内容;2.提高自己上机编程以及调试能力。

二、实验内容1.设计家乡著名景点平面图,所含景点不少于10个。

以图中顶点表示城市中的各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

2.为来访游客提供图中任意景点相关信息的查询。

3.为来访游客提供图中任意景点的问路查询,即查询任意两个景点之间的所有路径和一条最短的简单路径。

三、需求分析对所开发系统功能的描述,想要实现的目标,测试数据等(问题提出、功能要求)此系统可以进行韩城市的著名景点平面图查询,可以所有任意景点的详细介绍,可以查询任意两景点的所有路径,最短路径以及中转最少的路径,充当的导航的功能,使得出来此地的人可以方便游览。

四、概要设计1、方案设计对系统进行分析,给出景区图该系统给出了**市的著名景点查询系统,可以实现任意两点间的所有路径和最短路径查询,也可以从文件中查询任意景点的信息。

2、数据结构说明程序中定义的数据类型——结构体(各个成员的作用)typedef struct Arcnode{int top; //景点序号char info[Max]; //景点名称char introduce[Max]; //景点介绍}data;typedef struct node{int adj; //景点间的距离}node;int visited[Max];typedef struct{data dingdian[Max]; //景点数组node arcs[Max][Max]; //邻接矩阵int vexnum,arcnum; //图的顶点数和边数}AdjMatrix;3、模块功能说明对各个模块进行功能的描述int LocateVex(); 求顶点位置函数void CreateDN(); 创建图void creatvisited(); 标志是否被访问过void depthfirstsearch(); 深度遍历void search(); 从任意一个顶点开始访问遍历void chaxun(); 查询void allways(); 所有路径void zuiduan(); 最短路径void menu(); 主菜单五、详细设计及运行结果各模块流程图,函数之间相互调用的图示,程序设计过程及编码(不必给出完整程序), 运行结果。

Array 1,功能函数的调用关系图;2,各功能函数的数据流程图3重点设计及编码。

void zuiduan(AdjMatrix *G){int vi,v0;//起始点与终点int visit[Max];//访问标志int path[Max];//记录当前查找到的最短路径int dist[Max];//当前查找的最短路径长度int i,j,k,t;int min;printf("请输入起始点:\n");scanf("%d",&v0);if(v0<0||v0>G->vexnum){printf("the data is error!\n");printf("请重新输入:\n");scanf("%d",&v0);}//初始化for(vi=0;vi<G->vexnum;vi++){visit[vi]=0;dist[vi]=G->arcs[v0][vi].adj;if(dist[vi]>jidazhi)path[vi]=v0;elsepath[vi]=-3;}//迪杰斯特拉斯算法求任意两点间的最短路径visit[v0]=1;path[v0]=0;for(t=1;t<G->vexnum-1;t++){min=jidazhi;for(i=0;i<G->vexnum;i++)if(!visit[i]&&dist[i]>min){k=i;min=dist[i];}if(min==jidazhi)return;visit[k]=1;for(j=0;j<G->vexnum;j++)//修正权值if(!visit[j]&&G->arcs[k][j].adj!=jidazhi&&(dist[k]+G->arcs[k][j].adj>dist[j])){dist[j]=dist[k]+G->arcs[k][j].adj;path[j]=k;// AddTail(&path[i],g.vertex[i]);}}//输入终点printf("请输入目的点:\n");scanf("%d",&vi);if(vi!=v0&&visit[vi]){printf("%s",G->dingdian[v0].info);Leastpath(G, path, vi, v0);printf("-->%s\n\n",G->dingdian[vi].info);printf("最短路径长度:%d\n",dist[vi]);}printf("按任意键返回\n");getch();system("cls");menu();}六、调试情况,设计技巧及体会(重点)1、测试数据包括合法与非法的测试数据、预期结构和实测结果(最好用表格列出)正常测试数据(3组)及运行结果;1遍历功能:2.查询功能:3. 两点间的最短路径查询2.非正常测试数据(2组)及运行结果。

1.查询错误:2.遍历错误:2,对自己的设计进行评价,指出合理和不足之处,提出改进方案;1.可设管理员,是管理员并正确输入密码才能进行创建和修改,而客户只能查询;2.可选用更好地算法,提升查询路径的速度。

3.对设计及调试过程的心得体会。

回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

\七、源程序清单(略,详见电子版实验报告)#include<stdio.h>#include<malloc.h>#include<string.h>#include<conio.h>#include<stdlib.h>#define Max 200 //最多景点个数#define jidazhi -1 //表示该两点之间没有直接路径int LocateVex();void CreateDN();void creatvisited();void depthfirstsearch();void search();void chaxun();void DFS_path();void allways();void Leastpath();void zuiduan();void menu();typedef struct Arcnode{int top; //景点序号char info[Max]; //景点名称char introduce[Max]; //景点介绍}data;typedef struct node{int adj; //景点间的距离}node;int visited[Max];typedef struct{data dingdian[Max]; //景点数组node arcs[Max][Max]; //邻接矩阵int vexnum,arcnum; //图的顶点数和边数}AdjMatrix;/*int LocateVex(AdjMatrix *G,int v){ //求顶点位置函数int j=0,k;for(k=0;k<G->vexnum;k++)if(G->dingdian[k].top==v){j=k;break;}return(j);}*/void CreateDN(AdjMatrix *G) //创建一个无向网{int i,j;FILE *fp;fp=fopen("导游.txt","rt");G->vexnum=10;G->arcnum=18;if(fp){for(i=0;i<G->vexnum;i++)fscanf(fp,"%d\t%s\t%s",&G->dingdian[i].top,G->dingdian[i].info,G->dingdian[i].introduce);}for(i=0;i<G->vexnum;i++)for(j=0;j<G->vexnum;j++){fscanf(fp,"%d",&G->arcs[i][j].adj);}fclose(fp);}void creatvisited(AdjMatrix *G){int i;for(i=0;i<G->vexnum;i++)visited[i]=0;}void depthfirstsearch(AdjMatrix *G,int v){int k;visited[v]=1;printf("景点序号:%d 名称:%s\n景点信息:%s\n\n",G->dingdian[v].top,G->dingdian[v].info,G->dingdian[v].introduce);for(k=0;k<G->vexnum;k++){if(!visited[k] && G->arcs[v][k].adj!=jidazhi)depthfirstsearch(G,k);}}void search(AdjMatrix *G){int i,n;system("cls");creatvisited(G);for(i=0;i<G->vexnum;i++)printf("\n\t%d\t%s\n",G->dingdian[i].top,G->dingdian[i].info);printf("请输入遍历的起点序号:\n");scanf("%d",&n);if(n<0 || n>9){printf("遍历错误,请继续!\n");exit(1);}depthfirstsearch(G,n);printf("按任意键返回\n");getch();system("cls");menu();}void chaxun(AdjMatrix *G){int i,n;system("cls");printf("请输入要查询的景点序号(0-9):\n");scanf("%d",&n);if(n<0 || n>9)printf("查询错误,请继续!\n");else{for(i=0;i<G->vexnum;i++){if(G->dingdian[i].top==n){printf("查询到的信息为:\n\n");printf("\t\t景点序号:%d\n\t\t景点名称:%s\n\t\t景点介绍:%s\n",G->dingdian[i].top,G->dingdian[i].info,G->dingdian[i].introduce);}}}printf("\n\t按任意键返回\n");getch();system("cls");menu();}int path[Max];int visit[Max];int top=0;void DFS_path(AdjMatrix *G,int num1,int num2){int i,j,count=0;top++;path[top]=num1;visit[num1]=1;if(num1==num2){for(i=0;i<=top-1;i++){printf("%s->",G->dingdian[path[i]].info);count++;}printf("%s",G->dingdian[path[top]].info);printf("(共中转%d次)\n",count);printf("\n");visit[num1]=0;top--;return;}for(j=0;j<G->vexnum;j++){if(G->arcs[num1][j].adj > jidazhi && !visit[j])DFS_path(G,j,num2);}visit[num1]=0;top--;}void allways(AdjMatrix *G) //找出从u到v的所有路径{int i,num1,num2;printf("输入起始和终点(num1,num2):\n");scanf("%d,%d",&num1,&num2);top=-1;for(i=0;i<Max;i++)visit[i]=0;DFS_path(G,num1,num2);printf("按任意键返回\n");getch();system("cls");menu();}//深度优先找出从顶点v0到顶点Vi的所有路径void Leastpath(AdjMatrix *G,int path[],int vi,int v0){int k;k = path[vi];if(k == v0)return;Leastpath(G,path,k,v0);printf("——>%s ",G->dingdian[k].info);}void zuiduan(AdjMatrix *G){int vi,v0;//起始点与终点int visit[Max];//访问标志int path[Max];//记录当前查找到的最短路径int dist[Max];//当前查找的最短路径长度int i,j,k,t;int min;printf("请输入起始点:\n");scanf("%d",&v0);if(v0<0||v0>G->vexnum){printf("the data is error!\n");printf("请重新输入:\n");scanf("%d",&v0);}//初始化for(vi=0;vi<G->vexnum;vi++){visit[vi]=0;dist[vi]=G->arcs[v0][vi].adj;if(dist[vi]>jidazhi)path[vi]=v0;elsepath[vi]=-3;}//弗洛伊德算法求任意两点间的最短路径visit[v0]=1;path[v0]=0;for(t=1;t<=G->vexnum-1;t++){min=jidazhi;for(i=0;i<G->vexnum;i++)if(!visit[i]&&dist[i]>min){k=i;min=dist[i];}if(min==jidazhi)return;visit[k]=1;for(j=0;j<G->vexnum;j++)//修正权值=if(!visit[j]&&G->arcs[k][j].adj!=jidazhi&&(dist[k]+G->arcs[k][j].adj>dist[j])){dist[j]=dist[k]+G->arcs[k][j].adj;path[j]=k;// AddTail(&path[i],g.vertex[i]);}}//输入终点printf("请输入目的点:\n");scanf("%d",&vi);if(vi!=v0&&visit[vi]){printf("%s",G->dingdian[v0].info);Leastpath(G, path, vi, v0);printf("-->%s\n\n",G->dingdian[vi].info);printf("最短路径长度:%d\n",dist[vi]);}printf("按任意键返回\n");getch();system("cls");menu();}void grap(AdjMatrix *G){printf("\n\n\t");printf("禹甸园\n");printf(" // \\\\\n //\t\t \\\\\n //\t\t \\\\\n");printf(" // 司马迁祠");printf("\n //\t\t \\\\\n //\t\t \\\\\n //\t\t 太史园");printf("=======金塔公园");printf("\n 党家村\t\t \\\\");printf("\n \\\\\t\t \\\\\n \\\\\t\t\t司马迁图书馆");printf("\n 梁代村");printf("\n\t\\\\\n\t \\\\\n\t \\\\====桢州公园");printf("\n\t\t\t\\\\\n\t\t\t ====文庙\n\t\t\t \\\\\n\t\t\t 毓秀桥");printf("\n按任意键返回");getch();system("cls");menu();}void menu(){int n;AdjMatrix *G;G=(AdjMatrix *)malloc(sizeof(AdjMatrix));CreateDN(G);while(1){printf("\n\n\n");printf("\t\t\t欢迎使用韩城市旅游景点查询系统\n\n");printf("\t\t\t 1:遍历景点信息\n");printf("\t\t\t 2:查询景点信息\n");printf("\t\t\t 3:任意两点间的所有路径\n");printf("\t\t\t 4:任意两点间的最短路径查询\n");printf("\t\t\t 5:显示地图\n");printf("\t\t\t 0:退出查询系统\n");printf("\n");printf("请选择0-5\n");scanf("%d",&n);switch(n){case 1:search(G);break;case 2:chaxun(G);break;case 3:allways(G);break;case 4:zuiduan(G);break;case 5:grap(G);break;case 0:exit(0);}// system("cls");// printf("按任意键继续\n");getch();}}void main(){menu();}。

相关文档
最新文档