数据结构——图基础

本文介绍了图的基础知识,包括图的概述、简单路径与环路的概念,如欧拉环路和汉密尔顿回路。接着探讨了图的表示方法,如邻接矩阵和关联矩阵,以及如何在这些结构中进行边和顶点的操作。最后,文章提到了图的遍历,包括深度优先遍历和广度优先遍历。
摘要由CSDN通过智能技术生成

一、图概述

对图的描述有两个参数:点个数(vertex)与边数(edge)。若两节点间有边将二者相连,则称两点邻接(adjacency),点与该边成为关联(incidence)。
图又分为有向图和无向图,若一张图中每条边都具有方向,则该图为有向图 ,否则是无向图。
在这里插入图片描述

二、路径

1.简单路径

将每个节点均遍历一次的路径为简单路径:
在这里插入图片描述

2.简单环路

依次遍历每个节点并最终回到初始位置的路径为简单回路
在这里插入图片描述

3.欧拉环路

可经过每条边各一次的回路

4.汉密尔顿回路

可经过每个节点各一次的回路

三、图的表示方法

1.邻接矩阵

以矩阵形式表示各个顶点的连接关系。
若该图有n个节点,则生成n行n列矩阵,i行j列用0/1表示节点i与j是否有邻接关系。
在这里插入图片描述

2.关联矩阵

一个有n个节点与e条边组成的图可由n行e列矩阵表示。若一个节点与一条边有关联关系,则该隔填入1,否则为0。不难得出,关联矩阵中,没列有且仅有两个1。
在这里插入图片描述

三、实现方法

1.相邻矩阵的表示

n个n维向量组成邻接矩阵,用上述方法表示完整的图。
在这里插入图片描述

2.相邻顶点查找

查找相邻顶点时,只需搜索该顶点所在行中下一个‘1’所在的位置即可。

int nextNbr(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值