课程设计报告

发布 2022-10-01 06:17:28 阅读 2679

一、问题描述 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语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...