#笨鸟先飞# 数据结构与算法基础 课程笔记 第六章 图

news2024/9/29 15:28:21

图的定义和基本术语

  • :G=( V , E ) Graph=(Vertex,Edge)

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

  1. E:边的有穷集合。

  • 无向图:每条边都是无方向的

  • 有向图:每条边都是有方向的

  • 完全图:任意两个顶点都有一条边相连

  • 稀疏图:有很少边或弧的图(e<n logn)

  • 稠密图:有较多边或弧的图

  • :边或弧带权的图

  • 邻接:有边或弧相连的两个顶点之间的关系

  1. 存在(v1,v2),则称v1和v2互为邻接点

  1. 存在<v1,v2>,则称v1邻接到v2,v2邻接于v1。

  • 关联(依附):边或弧与顶点之间的关系;存在(v1,v2)或<v1,v2>,则称该边或弧关联于v1和v2

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

  1. 在有向图中,顶点的度等于该顶点的入度与出度之和;

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

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

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

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

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

  • 简单路径:除路径起点和终点可以相同外,其余顶点均不相同的路径

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

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

  • 子图

  • 连通分量:无向图G的极大连通子图·称为G的连通分量

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

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

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

  • 极小连通子图:该子图是G的连通子图,在该子图中删除任何一条边,该子图不再连通。

  • 生成树:包含无向图G所有顶点的极小连通子图

  • 生成树林:对非连通图,由各个连通分量的生成树组成的集合

图的类型定义

图的抽象数据类型定义

图的基本操作

图的存储结构

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

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

相关文章

新手小白入门必看!如何批量注册Twitter账号?

Twitter是目前海外比较流行的社媒营销平台&#xff0c;所以很多从事跨境电商行业的朋友都需要利用多个Twitter账号来推广营销&#xff0c;但是注册和管理多个Twitter账号其实并不是简单的事情。龙哥将会在这里详细讲讲该如何批量注册并且让这些账号不会因为关联被封号&#xff…

如何合理地制定项目管理计划?

甘特图是一个比较常见的直观地项目管理专用工具&#xff0c;我们可以使用用Excel制作表格&#xff0c;也可是使用项目管理软件。 详细的项目计划不能完全保证项目成功&#xff0c;但是可以将失败的风险降到最低。通过项目管理软件的图标&#xff0c;项目管理者可以直观的查看任…

字符串的特殊读取——基于蓝桥杯两道题目(C/C++)

目录 1 例题 1.1 卡片换位 1.2 人物相关性分析 2 字符串的读取 2.1 综述 2.2 scanf 2.3 getline/getchar/get 2.4 注意 2.5 说明 先看例题 1 例题 1.1 卡片换位 问题描述 你玩过华容道的游戏吗&#xff1f; 这是个类似的&#xff0c;但更简单的游戏。 看…

加拿大访问学者如何提升自我

学习加拿大先进的科学技术和研究方法是我们访学的最主要目的。(1)根据自己的先前的研究计划、加方导师的项目和科研条件尽早调整自己目前学习和研究。(2)可以适当、有选择地听一些相关的课程&#xff0c;在提高英语水平的同时&#xff0c;又能够了解外国的教学方法。(3)与导师积…

pytest+yaml+allure接口自动化测试框架04.处理request

前言 ​ 环境搭建配置、封装日志缓存、读取yaml测试文件&#xff0c;这些工作我们上几个章节已经都做完了&#xff0c;读取文件之后&#xff0c;我们已经成功拿到了测试yaml文件中的测试数据了&#xff0c;那我们接下来就通过这些数据去执行测试&#xff0c;主要就是对这些数据…

SpringBoot+Vue实现酒店客房管理系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

异步 Servlet

1.什么是异步 Servlet 在 Servlet3.0 之前&#xff0c;Servlet 采用 Thread-Per-Request 的方式处理 Http 请求&#xff0c;即每一次请求都是由某一个线程从头到尾负责处理。 如果一个请求需要进行 IO 操作&#xff0c;比如访问数据库、调用第三方服务接口等&#xff0c;那么其…

云原生丨一文教你轻松借助DEX实现单点登录~

文章目录前言一、分析思路1、单点登录授权码认证隐式认证混合认证2、会话管理二、实现过程1、搭建DEX认证中⼼2、登录流程说明授权码认证示例代码3、登出流程说明登出代码示例前言 通常&#xff0c;我们在登录单系统时&#xff0c;都希望只需要登录⼀次&#xff0c;就能访问本…

分享一下最近使用python字典取值用法的收获

假设现在有一个字典&#xff0c;内容如下&#xff1a;data {a: 1, b: 2}初级版本 我最开始学python的时候&#xff0c; 要从字典中取值&#xff0c;我可能会采用下面的写法&#xff1a;print(data["key"])上面的用法中&#xff0c;如果输入的key在字典中不存在的时候…

【蓝桥集训】第二天——差分

作者&#xff1a;指针不指南吗 专栏&#xff1a;Acwing 蓝桥集训每日一题 &#x1f43e;做题过程中首先应该注意时间复杂度问题&#x1f43e; 文章目录1.改变数组元素2.差分3.差分矩阵1.改变数组元素 给定一个空数组 V 和一个整数数组 a1,a2,…,an。 现在要对数组 V 进行 n 次操…

tkinter如何绑定鼠标和键盘等事件

文章目录鼠标点击事件进入或离开控件键盘事件Configure事件控件和人通过事件来交互&#xff0c;Tkinter中则通过Bind来绑定事件。例如 import tkinter as tkroot tk.Tk() txt tk.StringVar() btn tk.Button(root, textvariabletxt, width30, height5) btn.pack()btn.bind(&…

RS485三线制和两线制差别

RS-485是一种应用十分广泛的通信协议。其显著特点是信号采用“差分”的方式传输&#xff0c;因此抗干扰能力很强&#xff0c;通信距离也比RS-232远得多。RS-485通信一般是半双工的&#xff0c;仅需要2根信号线&#xff0c;也可以是全双工的&#xff0c;需要4根信号线。如何解读…

【项目实战】MySQL使用CONCAT字符串拼接函数实现与特殊字符的拼接

一、需求说明 因为有新功能需要上生产环境&#xff0c;总有一些乱七八糟的兼容历史数据的活要去做&#xff0c;比如以下。 需要批量的更新数据库中某个字段&#xff08;如id列中原来是ABCDEFG&#xff0c;需要改成[“ABCDEFG”]&#xff09;&#xff0c; 没错&#xff0c;就是…

python 的用户输入和 while 循环使用说明

文章目录1. 函数 input() 的工作原理1.1 使用 int() 来获取整数类型1.2 % 求模运算符1.3 版本问题2. while 循环简介2.1 使用示例2.2 利用while循环实现用户选择退出2.3 标志的使用2.4 break 语句2.5 continue 语句2.6 避免无限循环3. 使用 while 循环来处理列表和字典3.1 在列…

mysql8.0(单表查询与多表拆线)

目录 单表查询 1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号。 3、求出所有职工的人数。 4、列出最高工资和最低工资。 5、列出职工的平均工资和总工资。 6、创建一个只有职工号、姓名和工作时间的新表&…

Vue2.0项目重构到Vue3.0流程

1.重构的流程 1-1新建项目&#xff0c;确定脚手架版本 首先呢&#xff0c;我们新建项目有两种方法 第一种&#xff1a;vue-cli : 安装并执行 npm init vuelatest 选择项目功能时&#xff1a; 除了第一项的项目名字外&#xff0c;其他可以暂时No cd 到自…

安装SQL Server2017 过程中报KB29119355失败的解决方案

SQLServer 2017脱机版下载地址&#xff1a;http://download.microsoft.com/download/6/4/A/64A05A0F-AB28-4583-BD7F-139D0495E473/SQLServer2017-x64-CHS-Dev.isoMicrosoft SQL Server Management Studio 18管理工具下载https://learn.microsoft.com/zh-cn/sql/ssms/download-…

公民自动化开发平台(CADP)列入Gartner《2022-2024 中型企业技术采用路线图》

近日&#xff0c;全球知名咨询公司 Gartner 发布《2022-2024 中型企业技术采用路线图》&#xff08;获取方式见文末&#xff09;。该路线图汇集了全球 400 多家中型企业技术领导者的集体智慧&#xff0c;共囊括 53 项技术&#xff0c;涉及多个核心基础设施领域。其中包括计算和…

Wi-Fi 7全新升级,小米蓄势待发!

目前&#xff0c;Wi-Fi 已经成为人们最常用的无线连接技术。随着智能化时代的发展&#xff0c;终端设备对 Wi-Fi 技术的速率、延迟和稳定性等都提出了更高的要求。此前&#xff0c;电气和电子工程师协会 IEEE 发布了 802.11be 草案&#xff0c;Wi-Fi联盟将其命名为 Wi-Fi 7。小…

labelme脚本使用报错:TypeError: ‘NoneType‘ object is not subscriptable

今天好不容易终于把标注做完了&#xff0c;花了我两天时间&#xff0c;终于做到最后用脚本将json文件转成png图片&#xff0c;结果出现了以下报错。 Traceback (most recent call last):File "E:/pythonconda3/Deeplabv3_plus/datasets/Json2Image.py", line 8, in …