图——定义和基本术语

图是数据结构中非常重要的一章,这篇文章就先介绍一下图的定义和基本术语。

 一,图的构成

          图:Graph=(V,E)

          V:顶点(数据元素)有穷非空集合;

          E:边的有穷集合。

如下面这个图,由点集和边集可以确定。

二,图的分类 

图从边的方向上分为两类:

无向图:

        每条边都是无方向的

有向图:

        每条边都是有方向的

上面的图G1属于有向图,它的每条边都有方向。而下面的G2就属于无向图,它的边都没有方向:

 完全图:

        任意两个点都有一条边相连

完全图从图的大类上又分为无向完全图和有向完全图

然后就是根据图的边集和点集的数量,将图分为了:

稀疏图稠密图 

 三,图的相关概念

 顶点的度

        与该顶点相关联的边的数目,记为TD(v)

        在有向图, 顶点的度等于该顶点的入度出度之和。

        顶点 v 的入度是以 v 为终点的有向边的条数, 记作 ID(v)

        顶点 v 的出度是以 v 为始点的有向边的条数, 记作OD(v)

 问:当有向图中仅1个顶点的入度为0,其余顶点的入度均为1,此时是何形状?

答:是树!而且是一棵有向树

路径:接续的边构成的顶点序列。

路径长度:路径上边或弧的数目/权值之和。

回路()第一个顶点和最后一个顶点相同的路径。

简单路径:顶点不重复出现的路径

简单回路(简单环)除路径起点和终点相同外,其余顶点均不相同的路径

我们可以结合生活中的出行路径来理解

连通图(强连通图 )

在无(有)向图G=( V, {E} )中,若对任何两个顶点 vu 都存在从v u 的路径,则称G是连通图(强连通图)。

权与网 

        图中边或弧所具有的相关数称为权。表明从一个顶点到另一个顶点的距离或耗费。带权的图称为

 子图

设有两个图G=V{E})、G1=V1{E1}),若V1Í  VE1 Í E ,则称 G1G的子图。
:(b)(c) (a) 的子图。

连通分量(强连通分量) 

        无向图G 极大连通子图称为G连通分量
  
      极大连通子图意思是:该子图是 G 连通子图,将G 的任何不在该子图中的顶点加入,子图不再连通。

有向图G 极大强连通子图称为G强连通分量

极大强连通子图意思是:该子图是G的强连通子图,将D的任何不在该子图中的顶点加入,子图不再是强连通的。

 

极小连通子图

        该子图是G 的连通子图,在该子图中删除任何一条边,子图不再连通。
生成树:

        包含无向图G 所有顶点的极小连通子图。

生成森林:

        对非连通图,由各个连通分量的生成树的集合。       

 

 

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

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

相关文章

Python的分布式系统设计与开发

Python中的分布式系统设计与开发是一个复杂而广泛的主题,它涉及多个方面,包括系统架构、组件设计、通信机制、数据处理等。以下是对Python中分布式系统设计与开发的详细说明: 一、分布式系统基础 1. 定义与特点 分布式系统是指由多个独立的…

C++——类与对象(下)

在类与对象的上和中已经把类与对象的大部分内容讲了,这里对最后的一些内容进行补充说明。 目录 一、初始化列表 二、类型转换 三、static成员 四、友元 五、内部类 六、匿名对象 一、初始化列表 之前我们在实现构造函数的时候,初始化成员变量主要是使用…

mupdf 编译说明

进入官网下载源码:https://www.mupdf.com/releases 挑选需要的版本,下载解压,然后打开解决方案,进行编译

python 怎样生成窗体

通过import tkinter导入Tkinter模块,没有这句下面的都不成立了。 wintkinter.Tk(),这句是创建windows的窗口对象,注意后面的Tk,大小写。 win.title("窗口"),这段是设置窗口上的标题。 另外窗口的大小你可以通…

Linux操作系统特殊权限、文件系统管理命令、网络配置命令

Linux操作系统特殊权限 在Linux操作系统中,除了常规的读、写、执行权限外,还有一些特殊权限用于控制文件和目录的访问行为。这些特殊权限包括SUID(Set User ID)、SGID(Set Group ID)和Sticky Bit&#xff…

LlamaIndex 结构化输出

我们和大模型是通过 prompt 进行交互的,我们提示什么,大模型就输出什么。 假如我们要求大模型输出结构化的数据如 JSON,yaml 是不是也可以? 第一个例子 先建一个索引: from llama_index.core import VectorStoreIn…

java实战项目-学生管理系统(附带全套源代码)--《基础篇》

一、前言 第一个java小型学生管理系统,思路和其他语言都一样,因为有C语言的基础,写这个并不是太难,不过,进阶篇的就难太多了。明天晚上更新进阶篇,因为目前代码还没有完善,保守估计需要500行代…

网络请求优化:如何让你的API飞起来

网络请求优化:如何让你的API飞起来 亲爱的开发者朋友们,你是否曾经遇到过这样的场景:用户疯狂点击刷新按钮,你的服务器却像老年人散步一样慢吞吞地响应。或者,你的应用像个贪吃蛇,疯狂吞噬用户的流量包。如果你对这些情况再熟悉不过,那么恭喜你,你正需要…

Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理

Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理 目录 Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理 一、简单介绍 二、在Unity中设置颜色空间 三、Unity中的Gamma…

部队物资仓库出入库管理系统|实现物资有效的战备保障

随着科技的不断发展,智慧营区已成为现代军事管理的重要方向。后勤物资管控作为营区管理的重要组成部分,对于保障营区正常运转和提高部队战斗力具有重要意义。智慧营区后勤物资管控平台作为数字化后勤建设的重要组成部分,能够实现营区物资的智…

Ubuntu下载安装chrome浏览器

方法一:wget下载并安装 1、创建文件夹存安装包 cd /root/Downloads mkdir chrome 2、下载安装包到文件夹内 wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -P /root/Downloads/chrome 3、安装 cd chrome sudo dpkg -i go…

药品类别功能助力智慧校园医务管理向前迈进

在智慧校园的医务管理框架下,药品类别管理模块发挥着举足轻重的作用,它以智能化的方式优化药品的存储、分配流程,确保每一步都符合安全与效率的标准。这一功能围绕着科学分类的核心理念,细致入微地组织药品信息,为校园…

力扣1963.使字符串平衡的最小交换次数

力扣1963.使字符串平衡的最小交换次数 把所有匹配的消了 剩下的一定是k个‘ [ ’和k个‘ ] ’的组合k为偶数 则res k / 2;k为奇数 则res (k-1)/2 1; class Solution {public:int minSwaps(string s) {int cnt0;for(char c:s){if(c ]){if(cnt > 0) cnt--;}elsecnt;}co…

TCP传输控制协议二

TCP 是 TCP/IP 模型中的传输层一个最核心的协议,不仅如此,在整个 4 层模型中,它都是核心的协议,要不然模型怎么会叫做 TCP/IP 模型呢。 它向下使用网络层的 IP 协议,向上为 FTP、SMTP、POP3、SSH、Telnet、HTTP 等应用…

威纶通触摸屏连接MySQL数据库步骤

目录 概要威纶通支持数据库的触摸屏类型测试Step 1 选择触摸屏型号Step 2 新增数据库服务器Step 3 添加SQL数据库查询功能Step 4 仿真测试 概要 通过使用威纶通带数据库类型的触摸屏,实现连接本地/远程MySQL数据库,并实现数据查询功能 威纶通支持数据库…

Datawhale AI 夏令营_基于术语词典干预的机器翻译挑战赛 .md

基于术语词典干预的机器翻译 在baseline的基础上添加了soft attention,当N2000时,没有问题,但是一旦增加数据量就会爆显存,还需要找一下问题 完整代码如下 from typing import Listimport torch import torch.nn as nn import …

使用harbor作为chart仓库实现内网部署

使用harbor作为chart仓库实现内网部署 制作好的chart包可以传到chart仓库进行共享,chart仓库可以是公有仓库或者使用Harbor搭建的私有仓库。 本文使用的环境信息: rootmaster1:~# kubectl get node NAME STATUS ROLES AGE VERSION…

react antd table拖拽

下载node包 npm install react-resizable -D npm install types/react-resizable --save-dev 定义一个公用组建 ResizableTable.tsx import { useEffect, useState } from "react"; import { Resizable } from "react-resizable"; import "./resize.s…

使用Python + Scrapy + Django构建企业级爬虫平台

引言 在大数据时代,信息就是力量。对于企业而言,掌握行业动态、竞品分析、市场趋势等关键数据,是决策制定的重要依据。然而,手动收集这些信息既费时又低效。因此,自动化数据采集变得至关重要。本文将向你展示如何使用…

专业条码二维码扫描设备和手机二维码扫描软件的区别?

条码二维码技术已广泛应用于我们的日常生活中,从超市结账到公交出行,再到各类活动的入场验证,条码二维码的便捷性不言而喻,而在条码二维码的扫描识别读取过程中,专业扫描读取设备和手机二维码扫描软件成为了两大主要工…