数据结构--图。

在前面,我们学习了线性表和树,而接下来我们要学习的图相较于他们就更加复杂。

目录

一.图的有关概念


一.图的有关概念

1.定义

图(graph)G由两个集合V和E组成,记为G=(VE)。V是顶点的有穷非空集合;E是边的集合,边是V中顶点的无序对或有序对。E可以是边的空集,者E为空集,则G中只有顶点没有边。

2.由于“弧”是有方向的,因此称由顶点集和弧集构成的图为有向图。

3.顶点:在图中的数据元素

4.弧:若<v,w> VR,则<v,w>表示从v到w的一条弧

 弧尾:v(起始点)

 弧头:w(终端点)

5.有向图:是图论中的一种重要概念,用于描述各种事物之间的有序关系。它由一组节点(或顶点)以及连接这些节点的有向边组成。每条边都有一个方向,从一个节点指向另一个节点,表示了它们之间的关系和方向性

  无向图:边没有方向的图

6.完全图:有n(n-1)/2条边的无向图

  有向完全图:对于有向图,e的取值范围是0到n(n-1),具有n(n-1)条弧的有向图

  无向完全图:n个顶点的无向图,每个顶点与其他n-1个顶点都有边,具有最大边数n(n-1)/2

7.稀疏图:有很少条边或弧的图

  稠密图:图的边或弧很多

8.权:与图的边或弧相关的数

  网:带权的图

9.邻接点:假若顶点v和顶点w之间存在一条边,那么v和w互为邻接点

10.度:无向图中,与其相关联的边的数目

  入度:(有向图)以顶点v为头的弧的数目

  出度:(有向图)以顶点v为尾的弧的数目

11.路径长度:沿路径边的数目或沿路径各边权值之和

    回路:第一个顶点和最后一个顶顶点相同的路径

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

    简单回路:除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路

12.连通:无向图中如果从顶点V到顶点W有一条路径,则说V和W是连通的

  连通图:无向图中任意两个顶点都是连通的

  连通分量:无向图中的极大连通子图

  强连通分量:有向图中的极大强连通子图

13.生成树:一个极小连通子图,它含有图中全部顶点,但只有足以构成一棵树的n一1条边

二.图的存储结构

2.1.图的数组(邻接矩阵)存储表示

2.1.1图的邻接矩阵表示法的特点

·对于无图

 邻接矩阵一定是一个对称矩阵

 行(列)非零元素个数,表示度

·对于有向图:

 矩阵不一定是一个对称矩阵

行非零元素个数,表示出度

·列非零元素个数,表示入度

2.1.2应用

通过邻接矩阵判定任意两个顶点之间是否有边相连

2.邻接表

是图的一种链式存储结构

特点

无向图中顶点VI的度为第1个单链表中的结点

有向图中

顶点Vi的出度为第1个单链表中的结点个

顶点Vi的入度为整个单链表中邻接点城#

值是的结点个数

逆邻接表:有向图中对每个结点建立以Vi为头

的弧的单链表

3.十字链表

4.邻接多重表

三.图的遍历

3.1.深度优先搜索

3.1.1连通图

3.1.2非连通图

3.2.广度优先搜索

四.应用

4.1.图的连通性问题

4.1.1无向图的连通分量和生成树

4.1.2有向图的强连通分量

4.1.3最小生成树

4.1.4关节点和重连通分量

4.2有向无环图

4.3拓扑排序

4.4关键路径

4.5最短路径

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

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

相关文章

【Linux】传输文件,补充:VMware中Linux系统无法连接网络的解决方法

Linux系统可以和其他系统之间进行传输文件&#xff0c;只要通过ssh连接成功以后&#xff0c;就能进行文件传输。 Linux系统也可以通过URL规则和网页之间进行传输文件&#xff08;即上传/下载&#xff09;。 1、Linux系统之间传输文件&#xff1a;scp centos7自带ssh服务&…

FPGA+炬力ARM实现VR视频播放器方案

FPGA炬力ARM方案&#xff0c;单个视频源信号&#xff0c;同时驱动两个LCD屏显示&#xff0c;实现3D 沉浸式播放 客户应用&#xff1a;VR视频播放器 主要功能&#xff1a; 1.支持多种格式视频文件播放 2.支持2D/3D 效果实时切换播放 3.支持TF卡/U盘文件播放 4.支持定制化配置…

36.Docker-Dockerfile自定义镜像

镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 镜像是分层机构&#xff0c;每一层都是一个layer BaseImage层&#xff1a;包含基本的系统函数库、环境变量、文件系统 EntryPoint:入口&#xff0c;是镜像中应用启动的命令 其他&#xff1a;在…

QT-小项目:连接MY SQL数据库实现登录(下一章实现登录注册账号和忘记密码功能)

一、环境准备 1、下载MYSQL 64位&#xff0c;安装完成&#xff0c;制作简易数据库教程如下&#xff1a; MY SQL安装 2、QT 编译器使用 二、实现工程目录&#xff08;基于上一章基础上&#xff09; 三、源程序增加内容如下&#xff1a; login.cpp 增加头文件&#xff1a; #in…

《TAM》论文笔记(上)

原文链接 [2005.06803] TAM: Temporal Adaptive Module for Video Recognition (arxiv.org) 原文代码 GitHub - liu-zhy/temporal-adaptive-module: TAM: Temporal Adaptive Module for Video Recognition 原文笔记 What&#xff1a; TAM: Temporal Adaptive Module for …

内网安全综合管理系统是什么 | 好用的内网安全管理系统有哪些

内网安全综合管理系统是指一种集成终端管理、网络管理、内容管理、资产管理等功能的综合性安全管理系统。它主要对内网上的主机进行统一安全管理&#xff0c;包括对网络主机用户操作实施监督控制&#xff0c;并对主机中的安全软件&#xff08;如主机入侵监测系统、主机防火墙和…

5 Spring 事务管理

目录 1.概述 2.事务特性&#xff1a;ACID 3.Spring 框架的事务管理支持两种方式 编程式事务 申明式事务 4.Spring 事务管理 API 事务管理器接口 Spring 的回滚方式 事务定义接口 事务的四种隔离级别 事务的七种传播行为 5.事务注解例子&#xff1a; Transactianal…

springboot+vue+mybatis警情高发智能灯箱+PPT+论文+讲解+售后

时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;警情高发智能灯箱当然不能排除在外。警情高发智能灯箱是在实际应用和软件工程的开发原理之上&#xff0c;运用微信开发者、java语言以及SpringBo…

python:做柱状图

import matplotlib.pyplot as plt # 数据 categories [A, B, C, D] values [23, 45, 56, 78] # 创建柱状图 plt.bar(categories, values) # 添加标题和标签 plt.title(柱状图示例) plt.xlabel(类别) plt.ylabel(数值) # 显示图形 plt.show() D:\software\新建文件夹\python\L…

力扣每日一题- 给植物浇水 II -2024.5.9

力扣题目&#xff1a;给植物浇水 II 题目链接: 2105.给植物浇水 II 题目描述 代码思路 根据题目内容&#xff0c;使用双指针从左右两边同时向中间移动&#xff0c;模拟浇水过程即可。 代码纯享版 class Solution {public int minimumRefill(int[] plants, int capacityA, …

java 文件表创建及前后端使用

表结构task_file 前端具体到业务表单 <el-form-item label"任务附件" prop"taskAttachment"><el-upload ref"upload" accept".jpg, .png, .txt, .xlsx, .doc, .docx, .xls, .pdf, .zip, .rar":action"upload.url" …

Go-Zero自定义goctl实战:定制化模板,加速你的微服务开发效率(四)

前言 上一篇文章带你实现了Go-Zero和goctl&#xff1a;解锁微服务开发的神器&#xff0c;快速上手指南&#xff0c;本文将继续深入探讨Go-Zero的强大之处&#xff0c;并介绍如何使用goctl工具实现模板定制化&#xff0c;并根据实际项目业务需求进行模板定制化实现。 通过本文…

videosapi开发微信管理系统

获取登录二维码&#xff1a; export interface Request {/*** 设备ID&#xff0c;首次登录传空&#xff0c;之后传接口返回的appId*/appId?: string;/*** 代理IP 格式&#xff1a;socks5://username:password123.2.2.2*/proxyIp?: string;/*** 地区*/regionId: string;[prop…

宋仕强论道之新质生产力

宋仕强论道之新质生产力&#xff0c;宋仕强说当前5G通信、人工智能、万物互联、工业互联网、数字经济、新能源技术和产业等领域正蓬勃发展&#xff0c;成为未来经济增长的重要推动力&#xff0c;也是目前提倡的新质生产力的重要组成部分。而这些领域的发展都离不开数据的采集、…

React使用Outlet实现路由跳转时局部刷新页面

Outlet是react-router-dom插件的一个组件&#xff0c;首先需要安装react-router-dom插件&#xff1a; cnpm i react-router-dom --save 官方文档 应该在父路由元素中用来渲染其子路由元素。这允许在渲染子路由时显示嵌套的 UI。如果父路由完全匹配&#xff0c;则将渲染子索引…

Flutter 引入webview_windows插件,在已经使用$PATH 中的 nuget.exe情况下,windows端构建失败

报错 PS F:\xx\xxxx> flutter run -d windows Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source! Launching lib\main.dart on Windows in debug mode... E:\Some software\Visual Studio\VS 2022\MSBuild\M…

基于R语言绘图 | 转录代谢趋势图绘制教程

原文链接&#xff1a;基于R语言绘图 | 转录代谢趋势图绘制教程 本期教程 小杜的生信笔记&#xff0c;自2021年11月开始做的知识分享&#xff0c;主要内容是R语言绘图教程、转录组上游分析、转录组下游分析等内容。凡事在社群同学&#xff0c;可免费获得自2021年11月份至今全部…

【深度学习】【Lora训练0】StabelDiffusion,Lora训练,kohya_ss训练

文章目录 环境数据自动标注kohya_ss BLIP2kohya_ss WD14 后续 资源&#xff1a; &#xff08;1&#xff09;训练ui kohya_ss&#xff1a; https://github.com/bmaltais/kohya_ss &#xff08;2&#xff09;kohya_ss 的docker 其他docker https://github.com/ashleykleynhans…

04-19 周五 GitHub actions-runner 程序解释

04-19 周五 GitHub actions-runner 程序解释 时间版本修改人描述2024年4月19日17:26:17V0.1宋全恒新建文档 简介 本文主要描述了actions-runner-linux-x64-2.315.0.tar.gz这个github actions CI所需要的客户端安装包的重要文件和内容信息。有关GitHub actions 的配置&#xff…

##12 深入了解正则化与超参数调优:提升神经网络性能的关键策略

文章目录 前言1. 正则化技术的重要性1.1 L1和L2正则化1.2 Dropout1.3 批量归一化 2. 超参数调优技术2.1 网格搜索2.2 随机搜索2.3 贝叶斯优化 3. 实践案例3.1 设置实验3.2 训练和测试 4. 结论 前言 在深度学习中&#xff0c;构建一个高性能的模型不仅需要一个好的架构&#xf…