算法与数据结构课程设计报告。
系 (院计算机科学学院。
专业班级: 教育技术学1001班
姓名宋佳。学号201003901
指导教师詹泽梅。
设计时间: 2012.6.16 - 2012.6.24
设计地点4号楼2号机房。
算法与数据结构》课程设计任务书。
班级:教育技术11001
课程设计题目:图的基本操作及应用。
数据结构课程设计是在学完数据结构课程之后的实践教学环节。本实践教学是培养学生数据抽象能力,进行复杂程序设计的训练过程。要求学生能对所涉及问题选择合适的数据结构、存储结构及算法,并编写出结构清楚且正确易读的程序,提高程序设计基本技能和技巧。
一.设计目的。
1.提高数据抽象能力。根据实际问题,能利用数据结构理论课中所学到的知识选择合适的逻辑结构以及存储结构,并设计出有效解决问题的算法。
2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序**中的错误并且修改。
3.初步了解开发过程中问题分析、整体设计、程序编码、测试等基本方法和技能。
二.设计任务。
设计一个基于dos菜单的应用程序。要利用多级菜单实现各种功能。内容如下:
1. 无向图的基本操作及应用。
1 创建无向图的邻接矩阵。
2 创建无向图的邻接表。
3 无向图的深度优先遍历。
4 无向图的广度优先遍历。
2. 有向图的基本操作及应用。
1 创建有向图的邻接矩阵。
2 创建有向图的邻接表。
3 拓扑排序。
3. 无向网的基本操作及应用。
1 创建无向网的邻接矩阵。
2 创建无向网的邻接表。
3 求最小生成树
4. 有向网的基本操作及应用。
1 创建有向网的邻接矩阵。
2 创建有向网的邻接表。
3 关键路径
4 单源最短路径
三.设计指导。
第一步:根据设计任务,设计dos菜单。
第二步:设计菜单(c语言)
#include<>
void showmainmenu(){
printf("");
printf图的基本操作及应用n");
printf("*1 无向图的基本操作及应用n");
printf("*2 有向图的基本操作及应用n");
printf("*3 无向网的基本操作及应用n");
printf("*4 有向网的基本操作及应用n");
printf("*5 退出");
printfn");
void udg(){
int n;
do{printf("");
printf无向图的基本操作及应用n");
printf("*1 创建无向图的邻接矩阵n");
printf("*2 创建无向图的邻接表n");
printf("*3 无向图的深度优先遍历n");
printf("*4 无向图的广度优先遍历n");
printf("*5 退出");
printfn");
printf("请选择:")
scanf("%d",&n);
switch(n){
case 1:
printfwaitbreak;
case 2:
printfwaitbreak;
case 3:
printfwaitbreak;
case 4:
printfwaitbreak;
case 5:break;
default:
printf("error!")
while(n!=5);
void dg(){
int n;
do{printf("");
printf有向图的基本操作及应用n");
printf("*1 创建有向图的邻接矩阵n");
printf("*2 创建有向图的邻接表n");
printf("*3 拓扑排序n");
printf("*4 退出n");
printfn");
printf("请选择:")
scanf("%d",&n);
switch(n){
case 1:
printfwaitbreak;
case 2:
printfwaitbreak;
case 3:
printfwaitbreak;
case 4:break;
default:
printf("error!")
while(n!=4);
void udn(){
int n;
do{printf("");
printf无向网的基本操作及 **n");
printf("*1 创建无向网的邻接矩阵n");
printf("*2 创建无向网的邻接表n");
printf("*3 prim算法求最小生成树n");
printf("*4 kraskal算法求最小生成树n");
printf("*5 退出");
printfn");
printf("请选择:")
scanf("%d",&n);
switch(n){
case 1:
printfwaitbreak;
case 2:
printfwaitbreak;
case 3:
printfwaitbreak;
case 4:
printfwaitbreak;
case 5:break;
default:
printf("error!")
while(n!=5);
void dn(){
int n;
do{printf("");
printf有向网的基本操作***n");
printf("*1 创建有向网的邻接矩阵n");
printf("*2 创建有向网的邻接表n");
printf("*3 关键路径n");
printf("*4 单源顶点最短路径问题n");
printf("*5 退出");
printfn");
printf("请选择:")
scanf("%d",&n);
switch(n){
case 1:
printfwaitbreak;
case 2:
printfwaitbreak;
case 3:
printfwaitbreak;
case 4:
printfwaitbreak;
case 5:break;
default:
printf("error!")
while(n!=5);
void main(){
int n;
do{showmainmenu();
printf("请选择:")
scanf("%d",&n);
switch(n){
case 1:udg();break;
case 2:dg();break;
case 3:udn();break;
case 4:dn();break;
case 5:break;
default:printf("error!")break;
while(n!=5);
第三步:添加功能函数。在主程序的合适位置添加相应的函数实现各功能(提示:语句printf(“-wait所在位置)。
四.成绩评定。
实习报告(文字不得少于)
一、 设计方案;
二、 实现过程;
三、 实现**;
四、 测试;
五、 结论;
六、 难点与收获。
程序实现。
1. 程序运行正确,无编译错误,无逻辑错误;
2. 在第一条的基础上,任务完成的越多,成绩等级越高。
成绩由三部分组成:平时考核(20%)、程序实现(50%)、实习报告(30%)
一、 设计方案。
数据结构课程设计报告
东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...
数据结构课程设计报告
设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...
数据结构课程设计报告
河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...