002图的基本概念与表示方法

文章目录

  • 一. 图的组成
  • 二. 本体图
    • 2.1 什么是本体图
    • 2.2 怎么设计本体图
  • 三. 图的种类
    • 3.1 按连接是否有向分
    • 3.2 按本体图分
    • 3.3 按连接是否带权重分
  • 四. 节点连接数(节点的度)
    • 4.1 无向图节点的度
    • 4.2 有向图节点的度
  • 五. 图的表示方法
    • 5.1 邻接矩阵
    • 5.2 连接列表、邻接列表
  • 六. 图的连通性


一. 图的组成

  • 图(graph,G)由节点(nodes,N)与连接(edges,E)组成。

二. 本体图

2.1 什么是本体图

  • 设计本体图是设计图的第一步。
  • 即在设计图之前,要明确可能存在的节点种类以及连接种类。
  • 下图为某医疗知识图谱的本体图。
    在这里插入图片描述
  • 在设计好本体图后导入数据即可生成图。
  • 下图即为根据上图所生成的医疗知识图谱(部分)。
    在这里插入图片描述

2.2 怎么设计本体图

  • 首先,原则是取决于我们想解决什么问题;
  • 其次,一般本体图是唯一的、无歧义的。比如,人际关系网,其节点就是人物,连接就是是否有关系;
  • 再次,像前面医疗知识图谱的例子,节点有很多种,关系也有很多种;
  • 总之,根据目标任务灵活地设计本体图。

三. 图的种类

3.1 按连接是否有向分

  • 有向图:如:地铁线路图。
  • 无向图:如:微博关注图。

3.2 按本体图分

  • 普通图:节点和连接的种类都只有一种;
  • 异质图:节点和连接的种类不止一种;
  • 二分图:节点种类为二的特殊异质图。

注:可以把二分图展开成两个图来分别做处理。

3.3 按连接是否带权重分

  • 连接带权重的图:字面意思连接带权重。
  • 两节点间存在多条通路的:权重是各通路权重的和。

四. 节点连接数(节点的度)

  • 节点的度可以作为衡量节点重要性的指标。

4.1 无向图节点的度

  • 一个节点存在多少个连接即为该节点的度。
  • 无向图的平均度为 K ˉ = 2 E N \bar{K} = \frac{2E}{N} Kˉ=N2E 。其中E为总连接个数,N为总结点个数。

4.2 有向图节点的度

  • 有向图节点的度分为入度和出度。
  • 入度:是指向该节点的连接个数。
  • 出度:是该节点发出的连接个数。
  • 整个节点的的度就是入度与出度的和。
  • 入度为0的节点称为源(source)节点,出度为0的节点称为汇聚(sink)节点。
  • 有向图的平均度为 K ˉ = E N \bar{K} = \frac{E}{N} Kˉ=NE,平均出度与平均入度是相同的。

五. 图的表示方法

5.1 邻接矩阵

  • 有连接的地方为1,无连接的地方为0.
  • 特点:无向图的邻接矩阵是对称阵,有向图的邻接矩阵是非对称阵。
  • 对于无向图,连接总数为邻接矩阵逐元素求和的一半;节点的度沿行或列求和均可。

注意:若存在自连接,则求连接总数时自连接的总数不用除以二。

  • 对于有向图,连接总数为邻接矩阵逐元素求和;节点的入度为按列求和,出度为按行求和。
    在这里插入图片描述

5.2 连接列表、邻接列表

邻接矩阵多为稀疏矩阵,这造成了存储空间的浪费。

  • 连接列表:只记录存在连接的节点对。
  • 邻接列表:只记录各节点发出的连接。
  • 邻接列表在连接列表的基础上更进一步的压缩存储需求。
    在这里插入图片描述

六. 图的连通性

  • 对于无向图,如果任意两节点都能互达则称为连通图;否则称为非连通图,非连通图的极大连通子图称为连通域。
  • 对于有向图,如果任意两节点都能互达则称为强连通图;若非强连通图除去方向后是连通图,则称为弱连通图。
  • 强连通域(SCC):即符合强连通图定义的极大子图。对于一张图来说做SCC分解是十分必要的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/116822.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ES6】Promise.all用法

Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。 const p Promise.all([p1, p2, p3]);上面代码中,Promise.all()方法接受一个数组作为参数,p1、p2、p3都是 Promise 实例,如果不是,就会先调…

新版Mongodb(6.0以上)找不到mongo.exe

安装目录下/bin目录中,没有mongo.exe文件,只有mongod和mongos,以及一个powershell命令脚本。 原因在于,mongodb6.0以后做出了重大改变,mongodb已经不再默认为你安装shell工具,因此需要安装一个额外的shell…

15年检测生涯转瞬即逝,复旦MBA助力邢国芒实现质量强国梦

日月光华,旦复旦兮!复旦MBA如同一个巨大的磁场,吸引了诸多来自五湖四海、各行各业的职场精英。从初入职场的青涩懵懂到如今的独当一面专业干练,他们逐渐成长为职场的中坚力量,在各自领域内发光发热。作为新时代的青年&…

算法:分治思想处理归并递归问题

文章目录 算法原理实现思路典型例题排序数组数组中的逆序对计算右侧小于当前元素的个数 总结 算法原理 利用归并思想进行分治也是很重要的一种思路,在解决逆序对的问题上有很大的需求空间 于是首先归并排序是首先的,归并排序要能写出来: c…

ubuntu上安装nginx

这篇文章主要介绍怎么在ubuntu上安装nginx服务器,并进行一些简单的配置。 第一步:准备好一台ubuntu操作系统的虚拟机 注意:如果你还没有安装好ubuntu,个人推荐阅读以下文章完成unbutu安装,vm的版本不用刻意安装文章中…

修改yum下载文件的位置,指定安装位置

yum update 的软件包,可以放在别的地方。即可。 修改/etc/yum.conf 指定安装位置 yum -c /etc/yum.conf --installroot/usr/local --releasever/ install 你需要安装的软件

软考:中级软件设计师:邮件加密系统,网络安全保障,网络威胁与攻击,防火墙技术

软考:中级软件设计师:邮件加密系统 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &…

2.2 Vector<T> 动态数组(模板语法)

C数据结构与算法 目录 本文前驱课程 1 C自学精简教程 目录(必读) 2 动态数组 Vector(难度1) 其中,2 是 1 中的一个作业。2 中详细讲解了动态数组实现的基本原理。 本文目标 1 学会写基本的C类模板语法; 2 为以后熟练使用 S…

Redis 缓存穿透、击穿、雪崩

一、缓存穿透 1、含义 缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。 2、解决方案 1)缓存空对象 就是当数据库中查不到数据的时候,我缓存一个空对象…

C++--动态规划其他问题

1.一和零 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素&#xff0…

【数据结构】队列---C语言版(详解!!!)

文章目录 🐸一、队列的概念及结构🍄1、队列的概念定义🍄2、动图演示 🐸二、队列的实现🐸三、链表结构队列详解🍎创建队列的结构⭕接口1:定义结构体(QNode、Queue)⭕接口2…

游戏发行商能够提供什么服务?

游戏发行商可以为游戏开发者提供广泛的服务,以帮助他们将游戏成功地引入市场并取得更好的业绩。以下是游戏发行商可能提供的一些服务: 市场营销和宣传:发行商通常具有丰富的市场营销经验,可以制定并执行有效的宣传和营销策略。他们…

力扣:82. 删除排序链表中的重复元素 II(Python3)

题目: 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - …

你知道用Woof创建的Linux吗?

Quirky 8.2 已发布,它是 Puppy Linux 的姊妹项目,是用一份叫 Woof 的定制工具创建的 Linux 发行。 新版本 Quirky 8.2 运行在 64 位的 x86 计算机上,主要提供了针对以前的 8.x 版本的增量改进。 Quirky Linux 8.2 x86_64 的代号是Xerus&…

这个在线网站让你三分钟制作出一份精美简历

今天,我要向大家推荐一个神奇的在线工具网站,它能够提供免费简历模板、简历范文,支持在线编辑,并且一键下载为PDF。这个工具让你的简历制作变得轻松便捷! 首先,这个网站的简历模板非常丰富多样。无论你是刚…

电脑每次开机杀毒软件报iusb3mon.exe病毒已清除,电脑中病毒iusbmon杀毒办法,工具杀毒

不知道什么时候开始,我电脑C盘的系统数据存储文件夹programdata 不知不觉就没了,找不到了 programdata文件夹为存储系统数据文件的,这个文件不见了,而且我打开了显示隐藏文件和文件夹还是没有显示 然后我重启电脑,杀毒…

微服务框架 go-zero logx 日志组件剖析

addTenant api 和 rpc 的实现 上一篇我们说到咱们还剩下 addTenant 功能还未实现,不知道有没有兄弟感兴趣去实验一波的,本篇文章进行简要补充 根据上一篇文章分析,其实我们只需要执行如下几步即可: 编写 tenant.api&#xff0c…

java线程状态

图形说明: Thread.State源码注释: public enum State {/*** 新生状态:线程对象创建,但是还未start()*/NEW,/*** 线程处于可运行状态,但是这个可运行状态并不代表线程一定在虚拟机中执行。* 需要等待从操作系统获取到资源(比如处理器时间片…

VBA:对Excel单元格进行合并操作

Sub hb()Dim nn 3For i 3 To 18If Range("b" & i) <> Range("b" & i 1) ThenRange("b" & n & ":b" & i).Mergen i 1End IfNextEnd Sub

视频监控人员行为识别算法

视频监控人员行为识别算法通过opencvpython网络模型框架算法&#xff0c;视频监控人员行为识别算法可以识别和判断员工的行为是否符合规范要求&#xff0c;一旦发现不符合规定的行为&#xff0c;视频监控人员行为识别算法将自动发送告警信息。OpenCV的全称是Open Source Comput…