一、问题描述 2
二、课程设计目的 2
三、概要设计 2
四、问题实现的主要算法与分析 3
五、数据信息 3
六、源程序 4
七、运行结果 8
八、课程设计的小结 9
九、参考文献 10
一、问题描述。
1.若要在扬州大学的七个校区(广陵校区、盐阜校区、瘦西湖校区、农学院校区、工学院校区、水利学院校区、医学院校区)之间架设校园网,如何以最低的经济代价架设这个校园网。
2.利用二种方法(prim算法和克鲁斯卡尔(kruskual)算法生成校园网的架设方案。
3.分别对每种方法选定一组测试数据进行测试,验证程序的正确性。
二、课程设计目的。
课程设计的目的是培养学生综合程序设计的能力,训练学生灵活应用所学数据结构知识,独立完成问题分析、总体设计、详细设计和编程实现等软件开发全过程的综合实践能力。巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的学习作风。为今后学习其他计算机课程打下基础。
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将书本上的理论知识和工作、生产实际有机地结合起来,从而锻炼学生分析问题、解决实际问题的能力,提高学生的编程序能力和创新意识。
三、概要设计。
算法:adt graph
vr=基本操作p:
min(closedge,n);
初始条件:图g存在。
操作结果:求权值最小的弧尾顶点。
minspantree(u,n,closedge);
初始条件:图g存在。
操作结果:求图g的最小生成数。
adt graph
算法:adt mgraph
vr=基本操作p:
sort(edges,g)
初始条件:图g存在。
操作结果:求按权值大小从小到大排序。
minspantree(g);
初始条件:图g存在。
操作结果:求图g的最小生成数。
find(parent,f);
初始条件:parent是已经存在的集合,v是某个子集成员。
操作结果:查找函数。返回父亲结点。
adt mgraph
四、问题实现的主要算法与分析。
算法。1)typedef structedge:定义结构体edge,包含成员adj(顶点),low(权);
2)int min(edge closedge,int n):求权值最小的弧尾顶点;
3)void minspantree(int u,int n,edge closedge)用prim算法求最小生成树;
4)main():包括用文件打开方式调用数据创建一个图,并对其用prim算法求最小生成树。
算法。1)typedef structedge;
int g[20][20];
int min(edge closedge,int n)
int i,t,l;
t=100;
for(i=1;i<=n;i++)
if((closedge[i].low)&&closedge[i].low return l;
void minspantree(int u,int n,edge closedge)
int i,j,k;
for(i=1;i<=n;i++)
if(i!=u)
closedge[u].low=0;
for(i=1;i
main()
printf("please input i,j,w:");
for(q=1;q<=m;q++)
fclose(fp);
printf("please input start point!");
scanf("%d",&u);
minspantree(u,n,closedge);
kruskal算法:
* note:your choice is c ide */
#include ""
#include ""
#define m 20
#define max 20
typedef struct
int begin;
int end;
int weight;
edge;typedef struct
int adj;
int weight;
adjmatrix[max][max];
typedef struct
adjmatrix arc;
int vexnum,arcnum;
mgraph;
void sort(edge edges,mgraph *g)
int i,j,temp;
for(i=1;iarcnum;i++)
for(j=i+1;j<=g->arcnum;j++)
{if(edges[i].weight>edges[j].weight)
{temp=edges[i].begin;
edges[i].begin=edges[j].begin;
edges[j].begin=temp;
temp=edges[i].end;
edges[i].end=edges[j].end;
edges[j].end=temp;
temp=edges[i].weight;
edges[i].weight=edges[j].weight;
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...