图是一种非常重要的数据结构,特别是应用在地图上,比如高德地图路径规划、坐地铁、公交时的路径规划,我们的生活与之息息相关。下面回顾一波基础定义

一、图的定义

图(Graph):是由顶点的有穷非空集合和顶点之间边的集合组成。

顶点(Vertex):图中的数据元素。

边(Edge):顶点之间的逻辑关系,表示为(ⅵ,vj)。

弧(Arc):即有向边,表示为<Vi,Vj>。

备注:图通常表示为G(V,E),其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。

二、有向图与无向图的定义

无向边:若顶点 ⅵ 到 vj之间的边没有方向,则称这条边为无向边(Edge),用无
序偶对(ⅵ,vj)来表示。

无向图 (Undirected graphs):图中任意两个顶点之间的边都是无向边。

无向完全图:在无向图中,任意两个顶点之间都存在边。

有向边:若从顶点 vi 到 νj的边有方向,则称这条边为有向边,也称为弧(Arc)。
用有序偶<Vi,Vj>来表示,ⅵ称为弧尾(Tail),vj称为弧头(Head)。

有向图 (Directed graphs):图中任意两个顶点之间的边都是有向边。

有向完全图:在有向图中,任意两个顶点之间都存在方向互为相反的两条弧。

三、权的定义

有些图的边或弧具有与它相关的数字,这种与图的边或弧相关的数叫做权

四、连通图的定义

在无向图G中,如果从顶点v到顶点v’有路径,则称ⅴ和v’是连通的。如果对于图中任意两个顶点 vi、vj∈E, vi和vj都是连通的,则称G是连通图(ConnectedGraph)。

五、度的定义

无向图顶点的边数叫度,有向图顶点的边数叫出度和入度

六、图的存储方式

6.1、邻接矩阵存储

图的邻接矩阵(Adjacency Matrix) 存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。

  1. 无向图的邻接矩阵。

无向图的边数组是一个对称矩阵

  1. 有向图的邻接矩阵。

  1. 带权邻接矩阵。

6.2、邻接表存储

邻接表:散列链表存储方式,也就是数组+链表的形式。

  1. 无向图的邻接表

其中数组表示定点Vertex,链表表示边Edge。

  1. 有向图的邻接表

其中数组表示顶点Vertex,链表存储出度关系的边,即弧Arc,如图<V0,V3>。

除此之外,还有逆邻接表,如图弧<V1,V0><V2,V0>,链表存储入度关系的边

  1. 带权值邻接表

在邻接表的基础上,链表多了一个权重字段。

【数据结构】图的基础定义相关推荐

  1. 数据结构-图的基础代码

    1.深度优先搜索(DFS) 启动函数: #define MAX_VERTEX_NUM 1024 bool visited[MAX_VERTEX_NUM]; void DFSTraverse(Graph ...

  2. 数据结构——图的定义和实现

    这里写目录标题 图的定义 各种图的定义 无向边 有向边 图的顶点与边的关系 连通图生成树 图的各种实现 在引入邻接矩阵之前先介绍一下图的相关概念(概念比前树啥的面稍微复杂一点) 图的定义 之前学了线性 ...

  3. 数据结构:图的基础知识

    文章目录 图 图论基础 图的定义 图的基本概念 图的存储结构 邻接矩阵 邻接表 图的创建和销毁* 图的遍历算法 深度优先搜索遍历(DFS) 广度优先搜索遍历(BFS) 最小生成树 Prim 算法 Kr ...

  4. 数据结构--图(Graph)详解(一)

    数据结构–图(Graph)详解(一) 文章目录 数据结构--图(Graph)详解(一) 一.图的基本概念 1.图的分类 2.弧头和弧尾 3.入度和出度 4.(V1,V2) 和 < V1,V2 & ...

  5. 【数据结构(C语言)】数据结构-图

    图 文章目录 图 一.基本概念 1.图的定义 2.约定符号 3.分类 4.子图 5.路 6.其他术语 7.ADT 二.存储结构 1.邻接矩阵(数组) 2.邻接表 三.基本算法 1.遍历 2.求无向图的 ...

  6. 数据结构——图-基本知识点(第七章)

    目录 1. 图的定义 1.1 各种图定义 1.2 图的顶点与边间关系 1.3 连通图相关术语 1.4 图的定义与术语总结 2. 图的抽象数据类型 3. 图的存储结构 3.1 邻接矩阵 3.2 邻接表 ...

  7. 数据结构与算法基础-青岛大学-王卓

    数据结构与算法基础(青岛大学-王卓)_哔哩哔哩_bilibili 文章目录: 第一章:数据结构的基本概念 1.逻辑结构的种类 2.存储结构的种类 ​3.抽象数据类型的形式定义 4.Complex抽象书 ...

  8. 【数据结构与算法基础】AOE网络与关键路径

    前言 数据结构,一门数据处理的艺术,精巧的结构在一个又一个算法下发挥着他们无与伦比的高效和精密之美,在为信息技术打下坚实地基的同时,也令无数开发者和探索者为之着迷. 也因如此,它作为博主大二上学期最重 ...

  9. 【数据结构与算法基础】最短路径问题

    前言 数据结构,一门数据处理的艺术,精巧的结构在一个又一个算法下发挥着他们无与伦比的高效和精密之美,在为信息技术打下坚实地基的同时,也令无数开发者和探索者为之着迷. 也因如此,它作为博主大二上学期最重 ...

最新文章

  1. step在c语言中什么作用,C语言step-by-step(二)(数据类型)
  2. java在何时获得对象的确切类型_JAVA面试题(1)
  3. NLP数据分词小整理
  4. 表达对别人的感激之情
  5. 对未来无线解决方案的设想:家庭路由wifi充分利用方案
  6. java+object+graph,graphql-go:使用Object作为查询的输入参数
  7. 看完这一篇,再也不用担心 Git 的“黑魔法”
  8. Spring与Struts2整合的两种解决方案
  9. stunnel使用详解
  10. python屏幕的交互(读取输出信息)input,raw_input的区别
  11. 使用this调用已有的有参构造函数_JavaScript 中的 this 的几种使用场景
  12. hiho #1014 : Trie树(模板)
  13. mysql数据库备份oss_Linux(CentOS7)设置自动备份数据库到阿里云OSS(示例代码)
  14. Chrome插件(Extensions)开发攻略
  15. 字符编码ASCII ,Unicode ,UTF-8
  16. 看看“电子招投标平台”是如何识破“围标串标”的,看完少走弯路
  17. 微信分组可见怎么实现android,android如何管理微信分组
  18. qq空间进入游戏显示服务器拒绝,打开QQ空间出现ptlogin2.qq.com的解决方法大全
  19. 点击给导航条加背景颜色
  20. Nodejs之路(四)—— MongoDBMySQL

热门文章

  1. 最新研究:超级人工智能,从理论上就无法控制
  2. 华为AR路由器双内网三线上网和策略路由设定
  3. 龙叔学ES:Elasticsearch XPACK安全认证
  4. txt文档的编码有哪些?
  5. asp网站在IIS布局
  6. 计算机季度函数,Excel把月份变成季度的函数怎么用?
  7. Nifi的主要优缺点
  8. 想要做网页游戏怎么办 ?PixiJs 篇(二)
  9. 年轻人秃了,这家公司却赚翻了
  10. 嵌入式工程师跨界学习前后端系列3:web.py模板