图的操作和应用之景区信息管理系统

信息:
现有一个景区,景区里面有若干个景点,景点之间满足以下条件:
(1) 某些景点之间铺设了道路(相邻)
(2) 这些道路都是可以双向行驶的(无向图)
(3) 从任意一个景点出发都可以游览整个景区(连通图)
开发景区信息管理系统,对景区的信息进行管理。使用图的数据结构来保存景区景点信息,为用户提供创建图、查询景点信息、旅游景点导航、搜索最短路径、铺设电路规划等功能。
在这里插入图片描述
(1) 景点信息:景点编号、名字和介绍
编号 名字 介绍
0 A区 ……
1 B区 ……
2 C区 ……
3 D区 ……
4 E区 ……
5 F区 ……
6 G区 ……

(2) 道路信息:景点1,景点2、两个景点之间的距离。
景点1 景点2 距离(m)
A C 700
A E 1000
A F 600
B C 1000
B G 1000
C D 400
D E 300
D G 400
E F 600
F G 500
(1) 读文件创建图
输入:从Vex.txt文件中读取景点信息,从Edge.txt文件中读取道路信息。
处理:根据读取的景区信息创建景区景点图。
1、数据格式
Vex.txt每一行记录一个点的信息,格式为:“景点编号,景点名字,景点介绍”(景点编号从0开始逐个加1)
文件示例如下:
在这里插入图片描述
Edge.txt每一行记录一条边的信息,格式为:“景点1的编号,景点2的编号,道路的长度”(字段用中文逗号分割)若文件没有某两个点的信息,则表示这两个点之间没有直接路径。
文件示例如下:
在这里插入图片描述

使用Java语言采用邻接表存储:
点的定义:
public class Node {
private int num;//景点编号
private String name;//景点名字
private String info;//景点介绍
private Edge nextEdge;//指向第一条边邻接边
}

边的定义:
public class Edge {
	private Node front;//边的前顶点即路径出发点
	private Node back;//边的后顶点即路径终点
	private int weight;//边的权重即路径长度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值