图的存储结构的实现及其应用(地图建设问题)

一、        实验环境

学宝虚拟机,VC6.0

 

 

二、        实验目的

 

城市合理安排地铁的路线,利用无向图最小生成树的方法使地铁到达各个区并且总的建设费用最小。

 

三、        实验内容

1.     用C语言实现图的邻接矩阵存储结构或邻接表的存储结构;

2.     实现图的输入算法及图的深度优先遍历和广度优先遍历(分别针对连通图和非连通图)算法;

3.     利用图的经典算法解决实际应用问题(利用求最小生成树算法求解地铁建设最佳方案)。

 

四、        数据结构与算法思想描述

(1)        在输入图的顶点的过程中,我们给顶点安排的序号是以用户输入顶点的顺序为依据的。比如:用户输入的第一个顶点的序号默认为0,故该顶点的值存储在vexs[0]中……,当用户输完n个顶点后,这n个顶点就全部存储在数组vexs[0..n-1]中了。

(2)        图的输入:

步骤1:通过输入语句scanf接收用户输入顶点个数和边的条数:g->vexNum和g->edgeNum;

步骤2:给二维数组arcs赋初值使 g->arcs[1..vexNum-1][1..vexNum-1]=∞;

步骤3:通过输入语句scanf接收用户输入g->vexNum个顶点的值存放于一维数组g->vexs[0.. g->vexNum-1]中;

步骤4:通过输入语句scanf接收用户输入g->edgeNum条边的两个顶点的值及该边上的权值<va,vb,

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值