数据结构(图)

news2024/11/26 1:31:12

定义

  1. G = (V, E)              图 = (点,边)

    图,Graph

    点,Vertex

    边,edge

    有空表,空树,但没有空图

    图可以没有边|E| = 0,但不能没有一个点

  2. 稠密图 &稀疏图

    是边的多少决定的

  3. (见Excel对照表)
  4. 例题

    无向图,23条边,度为4的有5个点,度为3的有4个点,度为2的有多少个点?

             无向图的度总数 = 每个点的度数之和 = 2倍的边数

             23x2 = 4x5 + 3x4 + 2xN,N = 7

图的存储

  1. (根据各个表示法,还原成图)
  2. (根据图写出各个表示法)

图的遍历

  1. 广度优先BFS

    队列

  2. 深度优先DFS

    深度优先递归遍历一个无环的,有向图,只在退出时输出相应的点,这样,得到的顶点序列,是逆拓扑排序(王道.P210.T11

图的应用

不可以检查,有向图是否构成环(回路):最短路径的3个方法,广迪弗(甘道夫)

知识点对比学习

图的基本概念

简单图1、不存在重复边
2、不存在顶点到自身的边
多重图不是简单图
连通任意两点都有路径存在
路径点到点的一些顶点序列
路径长度/距离边的数量
回路=环1、起点和终点相同的路径
2、有回路,无拓扑序列
回路≠简单路径(40811.T8)
简单路径顶点不重复出现的路径
简单回路简单路径的回路

有向图 & 无向图

 无向图有向图 
1、任意两点之间都存在1个
2、一共有 C
n2 = n(n-1)/2 条边
完全图有向完全图1、任意两点之间都存在2个边,一来一回
2、一共有
2Cn2 = n(n-1) 条边
3、其中一个顶点最多可有 2n-2 的度(王道P191.T9)
n是点的个数
1、连通图最少有 n-1 条边(+1就可成环)
2、非连通图
最多有 Cn-12 条边
3、在任何情况下都是连通的(=非连通最多边数+1)则要Cn-12 + 1(408.10.T7)
连通图
任意点2点都有路径
强连通图1、点A到点B有路径,且点B到点A有路径,则这两点才是强联通的
2、任意两点强连通,则是强连通图
3、最少有 n 条边,构成一个环
1、尽可能多得顶点和边
P189.图6.2.ab
连通分量
极大连通子图
强连通分量
极大强连通子图
 
1、度 = 2e = 每个点的度数的和(王道P191.T8/P192.T18)
2、2倍的边长,每条边都有2个顶点相连

n点e边
TD = ID + OD1、总度 = 入度 + 出度
入度:箭头指向顶点,顶点作为终点
出度:顶点作为起点
2、入度 = 出度 = e
3、每条有向边都有一个起点和终点
1、全部点,极少边(极小连通子图)
2、n 个点,则 n-1 条边
生成树 
由各个单独的连通分量构成生成树的集合生成森林  

Cn2的意思是,n个边,任意选2个,不重复的边的个数
An2的意思是,n个边,任意选2个,可重复选

图的存储

图的存储邻接矩阵
(类似线代中的矩阵,是个矩形)
邻接表十字链表邻接多重表
空间复杂度O( |V|2 )无向图:O( |V| + 2|E| )
有向图:O( |V| + |E| )
O( |V| + |E| )O( |V| + |E| )
适用于稠密图稀疏图只能有向图只能无向图
表示方式
(存图的结果)
唯一
“生成树/森林”也唯一
不唯一
“生成树/森林”不唯一
常考点1、存储大小只和顶点有关
2、无向图的度 = 一行/一列
有向图的度 = 出度(一行) + 入度(一列)
1、出度:一行
入度:扫描整个表
  

 

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

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

相关文章

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 4月19日,星期五

每天一分钟,知晓天下事! 2024年4月19日 星期五 农历三月十一 谷雨 1、 景海鹏获颁特级航天功勋奖章,朱杨柱、桂海潮被授予英雄航天员称号。 2、 工信部:加快6G、万兆光网研发力度,加速推进大数据、AI等研发应用。 3、…

NAND数据恢复的方案

NAND Flash是固态硬盘(SSD)的核心数据存储。然而,NAND Flash因其物理特性和工作原理,存在一定的内在脆弱性,尤其是在数据存储的长期可靠性方面。 比特错误是指在读取NAND Flash时,原本存储的二进制位&#…

单输入多输出(SIMO)和多输入多输出(MIMO)模型是什么?

当谈到单输入多输出(SIMO)和多输入多输出(MIMO)模型时,通常指的是工程和信号处理领域中的系统和算法。我列举了一些我研究过的实例: 单输入多输出(SIMO): 多标签分类器&a…

RK3588 开发板的魅力所在!

处理器是计算机硬件系统的核心部件,其性能的提升对于设备功能和用户体验起着重要的作用。处理器也是开发板的核心,它决定了其计算性能和图形性能。那么,RK3588处理器属于什么档次?其性能和市场定位如何?市场上有哪些用…

C++信奥教学PPT:CSP_J_算法之双指针算法(中)

1、⼀个⻓度为 n-1 的递增排序数组中的所有数字都是唯⼀的,并且每个数字都在范围0~n-1 之内。在范围 0~ n-1 内的 n 个数字中有且只有⼀个数字不在该数组中,请找出这个数字。 2、循环最大值(Maximum in the Cycle of 1…

TSINGSEE青犀算法中台消防通道堵塞/占压AI检测算法的介绍及应用

消防通道是建筑物内用于紧急疏散的通道,其畅通无阻对于保障人员生命安全至关重要。然而,由于各种原因,消防通道经常会被杂物、车辆等堵塞,一旦发生火灾等紧急情况,后果不堪设想。为了有效解决这一问题,我们…

去除【关注博主即可阅读全文】插件

这两天闲着没事看csdn,看到好多博主弄这个关注才可以看文章 正好好久没写过那个油猴的插件,今天就用油猴写个这玩意。大家可以试着玩 代码我贴下面了,想用自取啊 // UserScript // name 去除关注才可以阅读 // namespace http:/…

项目实战:Qt获取CTP量化交易接口测试数据工具 v1.0.0(获取深度行情数据、订阅取消订阅)

若该文为原创文章,转载请注明出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/137937666 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

Python教学入门:函数

在 Python 中,def 关键字用于定义函数。函数是一段可重用的代码块,用于执行特定的任务或操作。通过定义函数,可以将一段代码封装起来,使其可以在程序中被多次调用,提高代码的复用性和可维护性。 下面是 def 函数定义的…

安装docker的PHP环境NLMP环境在国产deepin操作系统上

1: 先安装docker 安装完后执行,权限设置 sudo usermod -aG docker $USER或者sudo usermod -aG docker kentrl#添加当前用户到Docker用户组中 sudo newgrp docker#更新用户组数据,必须执行否则无效 sudo systemctl restart docker 先看目录结构: 2:按照目录结构挂载磁盘,…

MLP/CNN/RNN/Transformer主流深度学习模型的区别

1. 多层感知机(MLP) 核心特征: 结构:MLP 是一种基本的前馈神经网络,包含一个输入层、一个或多个隐藏层以及一个输出层。每层由全连接的神经元组成。用途:适用于简单的分类和回归任务。限制:不适用于处理序列数据或图像数据,因为它不具备处理输入之间时间或空间关系的能…

IDEA @Autowired不显示红线

IDEA 中,Autowired 显示红线一般情况是注入 Mapper 或者 Dao 时出现的,如下图: 这个报错是因为 Mapper 或者 Dao 上没有加 Repository 或者 Mapper,Autowired 注入时就判断为这不是一个 Bean。 不建议通过加上面两个注解的方式解…

python自动化之网易自动点歌

这个代码是是使用的pyautogui库和pyperclip库完成的,这个库是开源的地址如下:https://github.com/asweigart/pyautogui这里详细的用法想学习的可以到这看看 下面是代码: import pyautogui import subprocess import pyperclip import time i…

ubuntu设置扩充swap交换空间

Swap是指Linux系统中的交换分区,类似于Windows的虚拟内存,当内存不足的时候,把一部分硬盘空间虚拟成内存来使用,从而解决内存不足的问题。交换分区,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行! …

【uniapp】微信小程序2024手机号快速验证及无感登录教程(内附代码)

组件:手机号快速验证组件 适用对象:企业/个体 费用:0.03元/次 目录 前言思路前端后端代码无感登录onload事件无感登录方法登录判断后端mini_login2 最后 前言 最近注册了公司,可以注册具有支付能力的小程序了,各种材料…

用了 18 个月时间,做 AI 应用从 0 到 200 万用户,从亏损到盈利(4000 字全面复盘)

前言 距离上次《离职一年,收入10倍增长》总结到现在已经过去了 22 个月。在这段时间里我经历了从高峰跌到谷底又慢慢回弹。组建团队后经历了 10 个月的连续亏损,目前已经连续 12 个月盈利,专注于 AI 应用小程序方向,已累计 200 多…

Hadoop大数据处理技术-Linux相关命令

​7.Linux常用命令 1)Windows中的dir:列出当前目录下所有的文件和目录 2)cd:改变当前目录 cd命令并不能直接实现这种跳跃转换目录的功能 它只能让你在当前目录和其子目录之间来回切换 就像在一张平面地图上移动一样 如果想跨目录…

【Excel】使用VBA宏简单自定义Excel软件界面

改行做经济师学习Excel,偶有心得,摘录于此,备忘。 言简意赅,仅供自用。 1 实现效果 在Excel的左上角可添加按钮,该按钮的功能可由我们自己通过编写代码定义,能实现特定功能,并且在所有打开的…

Web端Webrtc,SIP,RTSP/RTMP,硬件端,MCU/SFU融合视频会议系统方案分析

Web端视频融合,会议互通已经是视频会议应用的大趋势,一是目前企业有大量的老视频会议硬件设,二新业务又需要Web端支持视频会议监控直播需求,迫切需要一个融合对接的方案,即能把老的设备用起来,又能对接新的…

界面组件Telerik UI for WPF 2024 Q1新版亮点 - 全新DateRangePicker组件

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio…