数据结构和算法-图的基本概念及邻接矩阵法和邻接表法和十字链表法和链表链表法

文章目录

  • 图的概念
    • 总览
    • 图的定义
    • 图逻辑结构的应用
    • 无向图和有向图
    • 简单图和多重图
    • 顶点的度,入读,出度
    • 顶点-顶点的关系描述
    • 连通图,强连通图
    • 研究图的局部-子图
      • 无向图
      • 有向图
    • 连通分量
    • 强连通分量
    • 生成树
    • 生成森林
    • 边的权,带权图/网
    • 几种特殊形态的图
    • 小结
  • 邻接矩阵
    • 总览
    • 邻接矩阵
      • 求顶点的度,入度,出度
      • 邻接矩阵存储带权图
      • 性能分析
      • 邻接矩阵法的性质
    • 小结
  • 邻接表
    • 顺序+链式存储
    • 对比 树的孩子表示法
    • 有向图vs无向图
    • 求顶点的度,入度,出度
    • 表示方式不唯一
    • 小结
  • 十字链表
    • 总览
    • 前提问题
    • 十字链表存储有向图
    • 性能分析
    • 邻接矩阵,邻接表存储无向图的缺点
    • 邻接多重表存储无向图
    • 小结

图的概念

总览

在这里插入图片描述

图的定义

顶点不能为空,边可以为空,且边对于两端必须要有顶点
在这里插入图片描述

图逻辑结构的应用

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

无向图和有向图

在这里插入图片描述

简单图和多重图

在这里插入图片描述

顶点的度,入读,出度

无向图中一条边对应两个节点产生两个度
有向图中一条边对应两个节点,一个节点产生入读,另一个节点产生出度
在这里插入图片描述

顶点-顶点的关系描述

连通(无向图中):两个顶点有路径存在
强连通(有向图中):两个顶点有来回路径
在这里插入图片描述

连通图,强连通图

对于n个顶点的无向图G
若要为连通图,则保证n个顶点连成一条线即可,那么有n-1条边
若要为非连通图,则将一个顶点隔离,将剩余的节点的边连满,相当于是计算从n-1个顶点中选两个顶点的种类数有多少,此时连满后再增加任意条边,只能是隔离的那个顶点连接到剩余的节点上,此时将连通,所以不行。所以只需计算将剩余的节点的边连满的边数

对于n个顶点的有向图
若要为强连通图,则最少有n条边(即形成回路,此时任意一个顶点沿回路方向出发都能到达任何一个顶点)
在这里插入图片描述

研究图的局部-子图

无向图和有向图对于子图相关的概念差不多
子图也是一个图,所以也要符合图的要求

无向图

在这里插入图片描述

有向图

在这里插入图片描述

连通分量

在这里插入图片描述

强连通分量

在这里插入图片描述

生成树

在这里插入图片描述

生成森林

在这里插入图片描述

边的权,带权图/网

在这里插入图片描述

几种特殊形态的图

在这里插入图片描述
在这里插入图片描述
有向树不是强连通的
在这里插入图片描述

小结

在这里插入图片描述

邻接矩阵

总览

在这里插入图片描述

邻接矩阵

就是横坐标和纵坐标都为点的图,相连为1,不相连为0
领结的意思就是是否相邻连接
在这里插入图片描述

在这里插入图片描述

求顶点的度,入度,出度

无向图对应左边,有向图对应右边

在这里插入图片描述

邻接矩阵存储带权图

在这里插入图片描述

性能分析

在这里插入图片描述

在这里插入图片描述

邻接矩阵法的性质

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

小结

在这里插入图片描述

邻接表

在这里插入图片描述

顺序+链式存储

用一维数组存图,每个顶点有对应边的指针相关信息
在这里插入图片描述

对比 树的孩子表示法

在这里插入图片描述

有向图vs无向图

同一条边无向图需要存储两次,而有向图只需存储一次,所以空间复杂度有所不同
在这里插入图片描述

求顶点的度,入度,出度

无向图的度:只需遍历该节点对应的边链表
有向图的出度:只需遍历该节点对应的边链表
有向图的入度:需要遍历该节点之外的所有节点的边链表(麻烦)
有向图的度:即入度+出度

表示方式不唯一

即点的边链表不唯一
但图的邻接矩阵唯一
在这里插入图片描述

小结

在这里插入图片描述

十字链表

总览

在这里插入图片描述

前提问题

邻接矩阵存储空间复杂度高
而邻接表找入边不方便
在这里插入图片描述

十字链表存储有向图

就是存储节点分别为弧的弧尾顶点和弧的弧头顶点的边链表
在这里插入图片描述

性能分析

在这里插入图片描述

邻接矩阵,邻接表存储无向图的缺点

在这里插入图片描述

邻接多重表存储无向图

即一条边只有一个边元素对应,链表表示与某个顶点相连的边
在这里插入图片描述
删除边时,只需要修改前一个的指针为后一个边的指针即可
删除点时,即将该点对应的边链表删除即可,同时修改指向该链表中元素的其他链表的元素指针
在这里插入图片描述

小结

在这里插入图片描述

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

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

相关文章

虚幻学习笔记15—C++和UI(一)

一、前言 在C可以直接创建按钮、滚轮等UI,并且可以直接绑定并处理响应事件。在创建C代码后还是需要通过蓝图来显示到应用中,总体来说还是不如直接用蓝图来的方便。 本文使用的虚幻引擎为5.2.1。 二、实现 2.1、创建UUserWidgetl类型的C类 声明两个按钮…

uniCloud(一) 新建项目、初始化服务空间、云对象访问测试

一、新建一个带有unicloud 二、创建一个服务空间 1. 右键uniCloud,关联云服务空间 我当前没有服务空间,需要新建一个服务空间,之后将其关联。初始化服务空间需要的时间有点长 服务空间初始化成功后,刷新HBuilder,勾选…

Linux系统下CPU性能问题分析案例

(上) 本文涉及案例来自于学习极客时间专栏《Linux性能优化实战》精心整理而来,案例总结不到位的请各位多多指正。 某个应用的CPU使用率居然达到100%,我该怎么办? 分析过程 使用观察系统CPU使用情况(并按下…

03. 医院设置_后端

1、Swagger2 测试工具 编写和维护接口文档是每个程序员的职责,根据Swagger2可以快速帮助我们编写最新的API接口文档,再也不用担心开会前仍忙于整理各种资料了,间接提升了团队开发的沟通效率。 swagger通过注解表明该接口会生成文档&#xf…

vuepress-----25、右侧目录

# 25、vuepress 右侧目录 https://github.com/xuek9900/vuepress-plugin-right-anchor vuepress-plugin-right-anchor English |中文 在用 Vuepress 2.x 编写的文档页面右侧添加 锚点导航栏 # 版本 2.x.x -> Vuepress 2.x -> npm next -> master 分支0…

PS扣印章

1 印章区域图片 2 3 吸取印章上的颜色,调节容差,尽量小一点,过大会将背景也进来 4 CtrlJ 把选区复制出来,这个印章图层比较淡,可以通过多复制几个叠加或通过叠加模式来调节。 5 对几个图层选中后CtrlE合并图层 6 选…

IT圈茶余饭后的“鄙视链”

哈哈,IT圈的鄙视链,简直就是一出情感大戏!这个圈子里的人们总是忍不住要互相比较,互相鄙视,仿佛这是一场刺激的游戏,每个人都想要站在鄙视链的最顶端,成为那个最牛逼的存在。 首先,…

深度学习第5天:GAN生成对抗网络

☁️主页 Nowl 🔥专栏 《深度学习》 📑君子坐而论道,少年起而行之 ​​ 文章目录 一、GAN1.基本思想2.用途3.模型架构 二、具体任务与代码1.任务介绍2.导入库函数3.生成器与判别器4.预处理5.模型训练6.图片生成7.不同训练轮次的结果对比 一…

CSS特效030:日蚀动画

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…

高级C#技术(二)

前言 本章为高级C#技术的第二节也是最后一节。前一节在下面这个链接 高级C#技术https://blog.csdn.net/qq_71897293/article/details/134930989?spm1001.2014.3001.5501 匿名类型 匿名类型如其名,匿名的没有指定变量的具体类型。 举个例子: 1 创建…

SpringBoot运维中的高级配置

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…

2023年【烟花爆竹经营单位主要负责人】免费试题及烟花爆竹经营单位主要负责人模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 烟花爆竹经营单位主要负责人免费试题参考答案及烟花爆竹经营单位主要负责人考试试题解析是安全生产模拟考试一点通题库老师及烟花爆竹经营单位主要负责人操作证已考过的学员汇总,相对有效帮助烟花爆竹经营…

vscode报错:建立连接:XHR failed

文章目录 问题解决方案 问题 Windows端ssh远程连接Linux端,Windows端vscode报错:“…XHR failed.” 解决方案 参考:解决 Windows 端 VS Code “无法与 “…“ 建立连接:XHR failed.” 问题 亲测有效。 总结: linux…

TreeSelect 树型选择控件 编辑回显时所选的值与展开后的数据不对应 解决方案

一、业务场景: 最近在使用Vue框架和antd-vue组件库的时候,发现在做编辑回显时** TreeSelect 树型选择控件** 组件的选中的值能拿到,但是在下拉列表的回显位置有偏差。为了大家后面遇到和我一样的问题,给大家分享一下 二、bug信息…

基于ssm毕业生就业管理平台论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本毕业生就业管理平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信…

Mesh里面的MFB是什么文件,工程重置了能否还原?

答:模方工程重置了以后,如果有备份可以还原。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.1新增自动单体化建模功能,支持一键自动提取房屋结构&am…

JVM垃圾回收算法

自动化的管理内存资源,垃圾回收机制必须要有一套算法来进行计算,哪些是有效的对象,哪些是无效的对象,对于无效的对象就要进行回收处理。 常见的垃圾回收算法有:引用计数法、标记清除法、标记压缩法、复制算法、分代算…

如何消除视频中的背景噪音

如果你在繁忙的街道上、刮风的日子、或在其他有嘈杂声音的周围拍摄视频,则会产生令人烦恼的噪音。幸运的是,从视频中消除背景噪音并不是一件困难的事情,因为有许多可靠的降噪软件可以提供帮助。本文就收集了3种最佳方法,可帮助你轻…

[RoarCTF 2019]Easy Calc1 wp

[RoarCTF 2019]Easy Calc1 wp 预测试 手工测试 这个页面实现了一个简单的计算器功能,当输入 11 时能正确返回执行结果 2, 但当输入 11&&ifconfig 之类的表达式时,会出现弹窗: 查看源码 前端页面调用了一个函数&#xf…

掌握 RPC 接口测试:一篇详尽的接口测试手册

RPC 是什么? 远程过程调用协议(RPC)是一种技术,它允许在不同的机器上执行函数,就好像这些函数是本地调用一样。简单地说,客户端系统透明地从网络上的远程服务器软件请求服务,而无需理解复杂的网…