图的基本概念和性质

news2024/11/16 15:40:37

目录

    • 一、图的引入
      • 1.引言
      • 2.不同类型的图
      • 3.无序对和无序积
      • 4.什么是图
    • 二、图的表示
      • 1.图的表示
      • 2.邻接矩阵
      • 3.邻接点与邻接边
      • 4.一些简单的特殊图
    • 三、图的分类
      • 1.按边有无方向分类
      • 2.按有无平行边分类
      • 3.按有无权值分类
      • 4.综合分类方法
    • 四、子图和补图
      • 1.各类子图
      • 2.完全图
      • 3.补图
      • 4.补图的邻接矩阵
      • 5.补图的应用
    • 五、握手定理
      • 1.结点的度数
      • 2.邻接矩阵计算度数
      • 3.握手定理
      • 4.握手定理推论
      • 5.图的度数序列
    • 六、图的同构
      • 1.引言
      • 2.图的同构
      • 3.图同构的必要条件

一、图的引入

1.引言

       图论发源于十八世纪,最早主要研究一些游戏问题:如哥尼斯堡七桥问题,迷宫问题和博弈问题等。计算机出现以后,图论得到了长足的发展,至今仍然活跃在科研和实际应用的第一线,如现在受到普遍关注的云计算,大数据应用和深度学习等。
在这里插入图片描述

2.不同类型的图

       图论所讨论的图(Graph)与人们通常所熟悉的图(如圆、椭圆、函数图表等)是很不相同的,图论中的图是指某类具体离散事物集合和该集合中的每对事物间以某种方式相联系的数学模型。
下面给出一些例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.无序对和无序积

在这里插入图片描述

4.什么是图

在这里插入图片描述
在这里插入图片描述

二、图的表示

1.图的表示

       对于一个图 G,如果将其记为 G =< V, E >,并写出 V 和 E 的集合表示,这称为图的集合表示。
为了描述简便起见,在一般情况下,往往只画出它的图形:用小圆圈表示 V 中的结点,用由 u 指向 v 的有向线段或曲线表示有向边 < u, v >,无向线段或曲线表示无向边 (u, v),这称为图的图形表示。
在这里插入图片描述
       图形表示法的优点是形象直观,但不适合于大图,而集合表示法的优点是精确,但抽象不易理解。为了便于用代数知识来研究图的性质,特别是便于用计算机来处理,我们引入图的矩阵表示。因为矩阵的存储和处理在计算机中是非常容易的,从而能够把图的问题变为数字计算问题,再利用矩阵代数的运算来计算图的通路、回路和其它特征。

2.邻接矩阵

在这里插入图片描述
在这里插入图片描述

3.邻接点与邻接边

       在图 G =< V, E > 中,若两个结点 v i v_i vi v j v_j vj 是边 e 的端点,则称 v i v_i vi v j v_j vj 互为邻接点,否则 v i v_i vi v j v_j vj 称为不邻接的;具有公共结点的两条边称为邻接边;两个端点相同的边称为环或自回路;图中不与任何结点相邻接的结点称为孤立结点。
在这里插入图片描述

4.一些简单的特殊图

       仅由孤立结点组成的图称为零图;仅含一个结点的零图称为平凡图;含有 n 个结点,m 条边的图,称为(n, m)图。

  • 环的存在与否不会导致图论定理的重大变化,很多场合下都会被忽略;
  • 零图没有任何边,邻接矩阵为全 0;
  • (8,20)图表示一个图有8个结点,20 条边,但图的各边如何分布则不清楚。

三、图的分类

1.按边有无方向分类

       每条边都是无向边的图称为无向图(undirected graph);每条边都是有向边的图称为有向图(directed graph);有些边是无向边,而另一些边是有向边的图称为混合图(mixed graph)。
在这里插入图片描述

2.按有无平行边分类

       在有向图中,两结点间 (包括结点自身间) 若有同始点和同终点的几条边,则这几条边称为平行边;在无向图中,两结点间(包括结点自身间)若有几条边,则这几条边称为平行边。两结点 a、b 间相互平行的边的条数称为边 (a, b) 或 <a, b> 的重数。含有平行边的图称为多重图(multigraph);非多重图称为线图(line graph);无环的线图称为简单图(simple graph)。
在这里插入图片描述

3.按有无权值分类

       赋权图(weighted graph)G 是一个三重组 < V, E, g > 或四重组 < V, E, f, g >,其中 V 是结点集合,E 是边的集合,f 是从 V 到非负实数集合的函数(即结点的权值函数),g 是从 E 到非负实数集合的函数(即边的权值函数)。相应的,边或结点均无权值的称为无权图。
在这里插入图片描述
在这里插入图片描述

4.综合分类方法

       可将以上三种分类方法综合起来对图进行划分。
在这里插入图片描述

四、子图和补图

1.各类子图

在这里插入图片描述
在这里插入图片描述

2.完全图

在这里插入图片描述
在这里插入图片描述

3.补图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.补图的邻接矩阵

在这里插入图片描述

5.补图的应用

在这里插入图片描述

五、握手定理

1.结点的度数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.邻接矩阵计算度数

在这里插入图片描述
在这里插入图片描述

3.握手定理

在这里插入图片描述

4.握手定理推论

在这里插入图片描述
在这里插入图片描述

5.图的度数序列

       设 V = {v1, v2, · · · , vn} 为图 G 的结点集,称 (deg( v 1 v_1 v1), deg( v 2 v_2 v2), · · · , deg( v n v_n vn)) 为 G 的度数序列。若 G 为有向图,还可分别定义出度序列和入度序列。

六、图的同构

1.引言

在这里插入图片描述

2.图的同构

在这里插入图片描述
在这里插入图片描述
       判定同构的方法关键就是找到结点间的对应关系,而在两个带有 n 个结点的图之间有 n! 种可能的一一对应关系。尤其是当 n 很大时,判断任意两个图是否同构常常是一件困难的事情。
在这里插入图片描述

3.图同构的必要条件

在这里插入图片描述
在这里插入图片描述

本文内容参考:
中国大学慕课电子科技大学《离散数学》

如有错误或者不足之处,欢迎大家留言指正!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WSL(ubuntu2204)xfce4安装中文环境和fcitx5框架及中文输入法

安装中文语言包 sudo apt install language-pack-zh-hans 配置中文显示 首先运行如下命令配置 locale $ sudo vi /etc/locale.gen 找到 *zh_CN.UTF-8 UTF-8* 并取消注释&#xff0c;然后保存并退出。 locale.gen... # zh_CN.GBK GBK zh_CN.UTF-8 UTF-8 # zh_HK BIG5-HKS…

【C语言刷题】倒置字符串

解题思路与过程&#x1f4fd;️解题思路&#x1f4fd;️解题过程&#x1f527;1.输入&#x1f527;2.设计逆序函数&#x1f527;3.逆序整个字符串&#x1f527;4.逆序每个单词&#x1f4fd;️源码&#x1f4f7;先来看题&#x1f447;&#x1f4fd;️解题思路 &#x1f534; 首先…

【验证码的识别】—— 图形验证码的识别

前言 &#xff08;结尾有彩蛋欧&#xff09; 目前&#xff0c;许多网站采取各种各样的措施来反爬虫&#xff0c;其中一个措施便是使用验证码。随着技术的发展&#xff0c;验证码的花样越来越多。验证码最初是几个数字组合的简单的图形验证码&#xff0c;后来加入了英文字母和混…

RK356x U-Boot研究所(命令篇)3.6 fdt命令的用法

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、fdt命令的配置二、fdt命令的定义三、fdt命令的用法3.1 fdt list3.2 fdt rm3.3 fdt set一、fdt命令的配置 .config配置文件需要有以下配置: rk3568_defconfig默认已使能。 二、fdt命令的定义 usb命令定义在cm…

169、【动态规划】leetcode ——123. 买卖股票的最佳时机 III:二维数组+一维数组 (C++版本)

题目描述 原题链接&#xff1a;123. 买卖股票的最佳时机 III 解题思路 &#xff08;1&#xff09;二维dp数组 动态规划五步曲&#xff1a; &#xff08;1&#xff09;dp数组含义&#xff1a; dp[i][0]&#xff0c;表示无操作。主要由四个状态来表示四种操作。dp[i][1]&…

博客系统web自动化测试

目录 一、项目简介 二、测试用例 三、测试过程 3.1 环境搭建 3.2 编写代码 3.2.1 博客登陆页面测试 3.2.2 博客列表页面测试 3.2.3 博客详情页面测试 3.2.4 博客编辑页面测试 四、测试评估 一、项目简介 本项目是一个简易的个人博客系统&#xff0c;用户可以在登陆后…

W800开发板|SDK| HLK-W800-KIT-PRO|工具链|本地命令行编译|Windows11|WSL|(5)、海凌科W800开发板命令行编译指南

概况 海凌科W800开发板&#xff08;HLK-W800-KIT&#xff09;是海凌科电子面向开发者针对联盛德W800 芯片推出的一款多功能开发板。全功能版本与联盛德W800开发板相比&#xff0c;增加了温湿度传感器、RGB 灯以及音频解码器、功放可以直接在开发版验证功能。联盛德W800的csdk也…

java虚拟机内存分布

java虚拟机内存分布 Java虚拟机在执行java程序的过程中会把它所管理的内存划分为如下若干个不同的数据区域。 1.程序计数器 程序计数器是线程私有的&#xff0c;它占用的空间相对较小&#xff0c;用来记录当前线程字节码执行到哪一步。字节码解释器通过改变这个计数器的值来获…

Portraiture2023最新版人像图像后期处理软件

2023全新发布Portraiture 4是专注于图像后期处理软件研发的 Imagenomic, LLC产品之一&#xff0c;在摄影爱好者中有点影响力。Portraiture可以将繁琐复杂的人像磨皮操作极致简化&#xff0c;不论是普通爱好者或专业后期处理人员&#xff0c;均能一键完成。凭借优秀的AI算法和多…

uniapp 悬浮窗(应用内、无需授权) Ba-FloatWindow2

简介&#xff08;下载地址&#xff09; Ba-FloatWindow2 是一款应用内并且无需授权的悬浮窗插件。支持多种拖动&#xff1b;自定义位置、大小&#xff1b;支持动态修改。 支持自动定义起始位置支持自定义悬浮窗大小支持贴边显示支持多种拖动方效果&#xff1a;不可拖动、任意…

python--matplotlib(1)

前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库&#xff0c;需要numpy库的支持&#xff0c;支持用户方便设计出二维、三维数据的图形显示。 正文 1.arange函数 arange函数需要三个参数&#xff0c;分别为起始点、终止…

MyBatisPlus ---- 多数据源

MyBatisPlus ---- 多数据源1. 创建数据库及表2. 引入依赖3. 配置多数据源4. 创建用户service5. 创建商品service6. 测试适用于多种场景&#xff1a;纯粹多库、读写分离、一主多从、混合模式等 目前我们就来模拟一个纯粹多库的一个场景&#xff0c;其他场景类似 场景说明&#x…

一文了解Hotspot虚拟机下JAVA对象从创建到回收的生命周期

Java虚拟机是Java的核心和基础&#xff0c;他是Java编译器和操作系统平台之间处理器&#xff0c;能实现跨平台运行Java程序。本文主要讲解的是虚拟机如何管理对象&#xff0c;即Java对象在JVM虚拟机中被创建到回收的流程 Java对象从创建到回收的生命周期对象创建流程1.类加载检…

MyBatis 的一级、二级缓存机制

目录标题缓存什么是缓存为什么使用缓存什么样的数据能使用缓存&#xff0c;什么样的数据不能使用适用于缓存不适用于缓存MyBatis 一级缓存、二级缓存关系1. 一级缓存1.1 什么是一级缓存mybatis1.2 一级缓存配置1.3 什么情况下会命中一级缓存mybatis清除一级缓存的几种方法1.4 内…

Delphi 10.4.2使用传统代码提示方案(auto complete)(转)

Delphi 10.4重点是实现了LSP&#xff0c;但现在最新的10.4.2还是不成熟&#xff0c;无法满足日常需要&#xff0c;不过没关系&#xff0c;可以设置为原有的方案&#xff0c;如下图&#xff1a;具体操作&#xff1a;Tools->Options->Editor->language->Code Insight…

迷宫问题图解 : 基于骨架提取、四邻域

目录 1. 迷宫的连通域 2. How to remove branch &#xff1f; 3. 基于4邻域的 remove 分支 3.1 找到分支的端点 3.2 4邻域的 remove 分支 3.3 循环移除分支 3.4 code 4. 迷宫路线 4.1 预处理 4.2 提取骨架 4.3 分支的端点 4.4 去除分支的端点 4.5 循环去除分支 4…

Java-合并两个链表

每日一题 Java-合并两个链表 给你两个链表 list1 和 list2 &#xff0c;它们包含的元素分别为 n 个和 m 个。 请你将 list1 中下标从 a 到 b 的全部节点都删除&#xff0c;并将list2 接在被删除节点的位置。 下图中蓝色边和节点展示了操作后的结果&#xff1a; 请你返回结果…

linux下redis安装 及常用命令

安装及常用命令 redis的yum方式安装 先查看是否已经安装redis执行命令 rpm -qa | grep redis如果存在&#xff0c;将存在的卸载&#xff1a;(-y 代表自动选择) yum remove xxx -y在线安装redis yum install redis安装本地已经下载好的redis安装包 yum localinstall redis6.2…

基于Spring、Spring MVC、MyBatis的招聘管理系统

文章目录项目介绍主要功能截图&#xff1a;首页账户管理招聘建议部分代码展示设计总结项目获取方式&#x1f345; 作者主页&#xff1a;Java韩立 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 …

流程引擎之Camunda简介

背景Camunda 是支持 BPMN&#xff08;工作流和流程自动化&#xff09;、CMMN&#xff08;案例管理&#xff09; 和 DMN&#xff08;业务决策管理&#xff09; java 框架。Camunda 基于Activiti5 保留了 PVM&#xff0c;其开发团队也是从 activiti 中分裂出来的。Camunda 来自拉…