数据结构课程设计

发布 2022-10-05 01:26:28 阅读 6539

《数据结构课程设计》报告。

题目通讯线路的敷设问题

专业计算机科学与技术。

班级1班。学生沈美珠。

同组人员徐颖高鹏黄浪利锐昌。

题目:通信线路的敷设问题。

题目内容:若要在下图中的13个城市之间建设通信网络,只需要敷设12条线路即可,边上的数字为两个城市之间建设线路的花费,单位:拾万元。

如何以最低的经济代价建设这个通信网,是一个网的最小生成树的问题。

要求: 以邻接矩阵方式保存图的数据,并以邻接链表的形式输出图的数据;

以边表方式保存图的数据,并以邻接矩阵方式的形式输出图的数据;

用prim算法求网的最小生成树,并以邻接链表的形式显示所求得的最小生成树,然后计算敷设相应的通信网的总造价;

用kruskal算法求网的最小生成树,并以邻接链表的形式显示所求得的最小生成树,然后计算敷设相应的通信网的总造价;

整个应用设计成一个菜单,具有上述功能要求和退出系统的基本的功能;

本人完成的工作:

第四个问题。

完成的工作的内容:

用prim算法求网的最小生成树,并以邻接链表的形式显示所求得的最小生成树,然后计算敷设相应的通信网的总造价;

所采用的数据结构。

数据结构的定义。

typedef struct mstedge

int vex1,vex2;//边所依附的两个顶点。

weightype weight;//边的权值。

mstedge;//prime算法中每条边的存储结构。

typedef struct

int adjvex;//边所依附u中的顶点。

int lowcost;//该边的权值。

closedge;//存放v-u中顶点到u中顶点权值最小的边。

所设计的函数(小3号黑体)

mstedge *prim_mst(mgraph *p,int u)//从第u个顶点开始构造的图a的最小生成树。

mstedge *te;//指向最小生成树的边。

closedge closedge[max_edge];/存放v-u中顶点到u中顶点权值最小的边。

int j,k,v,min,f=0;

for(j=0;j<13;j++)

//初始化数组closedge[n]

closedge[u].lowcost=0;//初始时置u=

te=(mstedge *)malloc(12*sizeof(mstedge));

for(j=0;j<12;j++)

te[j].vex1=closedge[k].adjvex;

te[j].vex2=k;

te[j].weight=closedge[k].lowcost;

printf("(d,%d)",p->vexlist[te[j].vex1],p->vexlist[te[j].vex2]);

f=f+te[j].weight;

closedge[k].lowcost=0;//将顶点k并入u中。

for(v=0;v<13;v++)

if(p->arcs[v][k]closedge[v].lowcost=p->arcs[v][k];

closedge[v].adjvex=k;

修改数组closedge[n]得各个元素的值。

printf("敷设相应的通信网的总造价为:")

printf("%d",f);

return(te);

//求最小生成树的prime算法。

对每个函数必须给出所采用的算法思想和程序框图;(小4号宋体)

算法思想。 若从顶点v0出发构造,u=,te={}

先找权值最小的边(u,v),其中u∈u且v∈v-u,并且子图不构成环,则u= u∪,te=te∪ ;

重复⑵ ,直到u=v为止。则te中必有n-1条边, t=(u,te)就是最小生成树。

程序框图: 每个题目都必须有运行时的输入数据(随机产生的数据要求输出显示),运行的输出结果。

每个函数中应给出尽可能详细的中文注释。

见函数**。

问题与总结。

prime算法求最小生成树,通过课件,网上搜索查资料,最后终于把程序成功地运行出来了。课程设计给了我们锻炼自己思维能力和动手操作能力的平台,通过课程设计,对数据结构这门课有了更进一步的理解与体会。设计的过程是痛并快乐着。

烦躁过,痛苦过之后收获的是快乐与欣喜。课程设计不仅教会我们怎么去学习数据结构,更教会我们怎样去做人,怎样互助,怎样去沟通,怎样培养一种团体合作精神。我们不仅要为自己负责,更要为团队负责。

对于我来说,数据结构确实是一门很难的学科,面对着眼前的重重困难,我的团队给了我力量,让我勇往直前,感谢我的团队!

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...

数据结构课程设计

班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...