【数据结构与算法学习】图的快速入门案例

一、图的定义及其相关概念的介绍

定义:图是由顶点的有穷非空集合和顶点之间边的集合组成,表示为G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
在这里插入图片描述

无向图:顶点与顶点之间的连接没有方向,比如v1-v2,既可以是v1->v2,也可以是v2->v1。(上图即为)
有向图:顶点与顶点之间的连接是有方向的,比如v1->v2,就明确指定顶点间的方向是从v1指向v2的。(带箭头)
带权图:顶点与顶点的连接的边上带上一个权值的无向图。

二、图的表示方式

图的表示方式有两种:邻接矩阵邻接表
邻接矩阵:用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。
(点点之间如果存在连接则为1,否则为0)在这里插入图片描述

邻接表:对图的每个顶点建立一个容器(n个顶点建立n个容器),第i个容器中的结点包含顶点Vi的所有邻接顶点。(与邻接矩阵相比减少了空间的浪费,因为一个图更加关注的是点与点之间是否连接)
在这里插入图片描述

三、快速入门案例(简单代码实现)

案例说明:在这个案例中,从视觉上的无向图用简单代码的方式呈现出图的邻接矩阵。通过输入图的结点数和结点名称,以及结点间的连接情况,来得到一个图的邻接矩阵。

package com.datou.graph;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * @author datou
 * @data 2020/8/11 - 18:01
 * @target 图的表示
 * 要求:输入结点及结点数,各个边的连接情况,输出邻接矩阵
 */
public class
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值