线性表局限于一个直接前驱和一个直接后继的关系,树也只能有一个直接前驱也就是父节点。当我们需要表示多对多的关系时,就需要用到图。 图(Graph)是一种数据结构,由顶点(vertex)和边(edge)组成,通常表示为G=(V,E): 边:两个顶点之间的连接。 路径:一个顶点到另一个顶点的通路。 比如下面的无向图中,从顶点D到顶点C的路径有: 有向图(Directed Graph):顶点之间的路径有方向,比如A-B,只能是A->B,不能是B->A,下面的图就是一个有向图。 入度(In-degree):一个顶点的入度为x,是指有x条边以该顶点为终点,例如上面的有向图中,顶点C的入度是2。 出度、入度适用于有向图。 带权图(Weighted Graph):边带权值的图也叫网。 图的表示方式有两种: 邻接矩阵是表示图形中顶点之间相邻关系的矩阵,通常采用一个存放顶点信息的一位数组和一个存放边信息的二维数组实现。 使用邻接矩阵实现的无向图如下: 使用邻接矩阵实现的有向图如下: 邻接矩阵比较适合稠密图,不然会比较浪费内存。 邻接矩阵需要为每个顶点都分配n个边的空间,其实有很多边都是不存在,会造成空间的一定损失。 邻接表的实现只关心存在的边,不关心不存在的边。因此没有空间浪费,邻接表由数组+链表组成。 使用邻接表实现的无向图如下: 使用邻接表实现的有向图如下:
图的基本介绍
图的基本概念
无向图(Undirected Graph):顶点之间的路径没有方向,比如A-B,即可以是A->B也可以B->A,上面的图就是一个无向图。
出度(Out-degree):一个顶点的出度为x,是指有x条边以该顶点为起点,例如上面的有向图中,顶点A的出度是2。图的表示方式
邻接矩阵
说明:
邻接表
说明:
更多精彩内容关注本人公众号:架构师升级之路
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算