图的分类及表示方式

这篇具有很好参考价值的文章主要介绍了图的分类及表示方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

图是描述复杂事务的数据表示形式,由节点和边组成,数学上一般表述为G(V,E)。其中的V(vertical)代表节点,可被理解为事物;E(edge)代表边,描述的是两个事物之间的关系。例如一个图的社交网络图,每个人都可视为节点,而人与人之间的关系可被视为边。

节点的邻居(neighbor)指的是与该节点在同一边另一端的节点。节点的度(degree)指的是该节点邻居的数量.

1、图的分类:

(1)按边有无方向,可将图分为有向图和无向图,如下图所示。有向边的出发节点称为头节点,结束节点则称为尾节点。

图的分类及表示方式

 (2)按节点和边的类别数量,可将图分为同构图和异构图。下图左边的图只有一类节点(用户)和一类关系(朋友关系),即为同构图。若节点类别数量大于1,或关系类别数量大于1,如下图右边所示,则该图为异构图。

图的分类及表示方式

 (3)按边是否带有权重可分为无权图和有权图。

图的分类及表示方式

2、图的表示:

指计算机以何种方式表示图。

(1)邻接矩阵。假设一个图的节点数量为N,则生成一个N*N的矩阵。矩阵中的值为对应位置节点与节点之间的关系,一般用A表示。

一个图中,若节点X与节点Y有边连接,则在邻接矩阵的对应位置赋值1即可,若两节点间无边连接则赋值0。无向图的邻接矩降是一个以对角矩阵镜像对称的矩阵。而有向图中,将邻接矩阵的行索引代表有向图中有向边的头节点,列索引代表尾节点,则有向图的邻接矩阵不再是对称矩阵。

若图中有多种关系即异构图,则需要多个邻接矩阵,每种关系对应一个邻接矩阵。

若图带有权重,则邻接矩阵中不再是0和1,而是对应的权重值。

缺点:随着图中节点或关系数量的增长,会使邻接矩阵的维度或个数快速增长,变得异常稀疏。

(2)邻接列表。邻接列表为图中每一个头节点生成一个list,如节点2有一条通向节点1的边和一条通向节点3的边,那么可表示为2 : [ 1 , 3 ]。若边分别带有权值0.5和0.6,可表示为2 : [ (1,0.5) , (3,0.6) ]。

(3)边集。以头尾节点的索引元组表示一条边。例如头节点是h,尾节点是t,那么这一条有向边就是(h, t),如果是一条无向边则就用一对对称元组表示,即(h, t), (t, h)。

3、知识图谱:

 知识图谱是一种高度结构化的数据形式,可以看作是一个有向异构图。一般以三元组的形式存储,对于头节点h、尾结点t以及它们之间的关系r,以三元组(h,r,t)表示。

图的分类及表示方式文章来源地址https://www.toymoban.com/news/detail-501032.html

到了这里,关于图的分类及表示方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构学习记录——什么是堆(优先队列、堆的概念、最大堆最小堆、优先队列的完全二叉树表示、堆的特性、堆的抽象数据类型描述)

    目录 优先队列 若采用数组或链表实现优先队列  数组 链表 有序数组 有序链表 总结 若采用二叉搜索树来实现优先队列 最大堆 堆的概念 优先队列的完全二叉树表示 堆的两个特性  结构性 有序性 【例】最大堆和最小堆 【例】不是堆 堆的抽象数据类型描述 优先队列 (Prio

    2024年02月02日
    浏览(49)
  • 【数据结构】图的应用:最小生成树;最短路径;有向无环图描述表达式;拓扑排序;逆拓扑排序;关键路径

    目录 1、最小生成树 1.1 概念  1.2 普利姆算法(Prim) 1.3 克鲁斯卡尔算法(Kruskal)  2、最短路径 2.1 迪杰斯特拉算法(Dijkstra) 2.2 弗洛伊德算法(Floyd)  2.3 BFS算法,Dijkstra算法,Floyd算法的对比 3、有向无环图描述表达式 3.1 有向无环图定义及特点 3.2 描述表达式 4、拓扑排序

    2024年02月07日
    浏览(46)
  • 【Python 数据分析】描述性统计:平均数(均值)、方差、标准差、极大值、极小值、中位数、百分位数、用箱型图表示分位数

    前面讲了数据分析中的第一步:数据预处理,下面就是数据分析的其中一个重头戏:描述性统计,具体内容为: 平均数(均值)、方差、标准差、极大值、极小值、中位数、百分位数、用箱型图表示分位数 。 关键方法 含义 .mean() 求均值 .var() 求方差 .std() 求标准差 .max() 求极

    2024年01月21日
    浏览(43)
  • UML--类图的表示

    1.1 访问属性 + : public - : private # : protected 1.2 接口与抽象类 斜体 表示抽象类和抽象方法 Interface 类表示接口 1.3 类图示意 Mclass - val: int + getVal(): int 2.1 实现关系 空心三角形和虚线组成 B实现A,则三角形尖尖朝向A,在三角形底边引一条虚线再连接B。 2.2 泛化关系 is a 关系, 继承关系

    2024年02月05日
    浏览(50)
  • 图论与算法(2)图的基本表示

    (1) 有向图和无向图: 有向图(Directed Graph):图中的边具有方向,表示节点之间的单向关系。 无向图(Undirected Graph):图中的边没有方向,表示节点之间的双向关系。 (2)加权图和无权图: 加权图(Weighted Graph):图中的边具有权重或距离,表示节点之间的关系有一定

    2024年02月04日
    浏览(45)
  • 离散数学·图的矩阵表示、平面图

    无环 , 有向 (可以表示平行边) M(D)【direction】 每一列的和都是0,每一行中所有元素的绝对值是点的度数 所有列相加一定是0(每一列都是0) 第i行第j列是1的情况的和是出度数 同1 平行边的表示就是再加一条一样的列 无向 , 无环 M( G ) 看一下(3)吧🎱🎱🎱 简而言之—

    2024年02月01日
    浏览(40)
  • 图的创建——C语言描述

    https://blog.csdn.net/m0_59469991/article/details/127137119?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127137119%22%2C%22source%22%3A%22m0_59469991%22%7D ​ 图是由顶点的有穷非空集合和顶点之间边的集合组成的,表示为G(V, E).先把key值存到表里面去,存的过程哈希表Hashkey与表

    2024年02月05日
    浏览(30)
  • 图论 (Java) 从入门到入土 /第一部分 图的基础-图的表示/

            图,是一种比较复杂的数据结构。和树的一个节点只和上层一个节点相连不同,在图中,任意两个节点都可能相连,且可能具有方向性,并且节点的边具有权重,因此,图被用于描述各种复杂的数据对象,在自然科学、社会科学和人文科学等诸多领域有着非常广泛

    2024年02月08日
    浏览(41)
  • 图论01-【无权无向】-图的基本表示-邻接矩阵/邻接表

    https://github.com/Chufeng-Jiang/Graph-Theory/tree/main/src/Chapt01_Adjacency 代码有删减 代码有删减 只需要改动一行 adj = new TreeSet[V]; //构造邻接表, V行,V个LinkedList 代码有删减

    2024年02月07日
    浏览(41)
  • 图神经网络:(图的分类)在MUTAG数据集上动手实现图神经网络

    文章说明: 1)参考资料:PYG的文档。文档超链。 2)博主水平不高,如有错误,还望批评指正。 3)我在百度网盘上传这篇文章的jupyter notebook以及有关文献。提取码8848。 MUTAG数据集是一个分子图形数据集。每个分子包含一个二元标签表示该分子是否为一种类固醇化合物。我们的

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包