21.0、C语言数据结构——图的遍历(深度优先遍历)

news/2024/5/2 1:59:28/文章来源:https://blog.csdn.net/m0_52433668/article/details/127364297

21.0、C语言数据结构——图的遍历(深度优先遍历)

        树的遍历我们谈了四种方式,大家回忆一下,树因为根结点只有一个,并且所有的结点都只有一个双亲,所以不是很难理解;

        但是谈到图的遍历,那就是复杂多了,因为他的任意顶点都是可以和其余的所有顶点相连接的,因此极有可能存在重复走过某个顶点或者漏掉某个顶点的遍历过程;

        对于图的遍历,如果要避免以上情况,那就需要科学的设计遍历方案,通常有两种遍历次序方案 ->

        1. 深度优先遍历

        2. 广度优先遍历

深度优先遍历:

        深度优先遍历(DepthFirstSearch),也有称为深度优先搜索,简称为 DFS;

假设我们现在从 A 点开始遍历,如何保证每一个结点都能访问到 ->

我们用深度优先遍历试试看->

        第一步:我们可以约定一个原则——右手原则:在没有碰到重复顶点的情况下,分叉路口始终是向右手边走,每路过一个顶点就做一个记号;

        第二步:当我们遇到走过的顶点时,就看看其他顶点是否有标记如果都有标记就退回上一个结点,再次检查其他顶点是否都有标记如果没有就往没有标记的顶点走去,如果都有标记就再退回到上一个顶点,最后退回到初识顶点 A 的时候遍历结束;

        将遍历的顶点顺序转换成二叉树,仔细观察其实可以发现是前序遍历;

        代码实现其实就是一个递归的过程;

 

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

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

相关文章

Spring常用注解的详细介绍(包你学明白)

目录 1. 为什么要使用注解? 2. 什么是注解? 3. 在Spring中使用注解的前期准备 4. Component注解的详细介绍 5. Value注解的详解介绍 6. Autowired注解的详细介绍 7. Resource注解的详细介绍 8. 怎么选择基于xml还是基于注解的方式创建对象并赋值呢…

专项测试怎样才“好玩”

01 关于测试分层 为什么我不吐槽那位产品经理呢?实际上,很多测试人员也没搞清楚在UI测试层我们应该做些什么。如上图,对于左边的测试金字塔,我相信很多测试人员都很清楚,也很向往自己的团队真的能够做到。但是呢,对于每一层的目标是否清楚?我见过很多人,在单接口测试时…

LAXCUS授权开源协议 第2版

LAXCUS公共许可证 第2版 Laxcus Public License version 2 本许可证是第1版本的延续,仅针对LAXCUS分布式操作系统及其衍生子版本,围绕LAXCUS分布式操作系统设计开发的硬件、硬件驱动程序、应用软件不受本许可证约束。 相比第1版本,第2版本更…

php宝塔搭建MineAdminVue开源基于Hyperf框架后台权限管理系统源码

大家好啊,我是测评君,欢迎来到web测评。 有个朋友前几天发消息给我,让我录制一个开源基于Swoole的后台管理系统搭建教程视频,所以抽时间研究了一下搭建部署流程,现在分享给大家。 系统介绍 这是一套基于Hyperf框架开发…

vmware workstation虚拟机无法连接网络

vmware workstation虚拟机无法连接网络 问题描述:在vmware workstation虚拟机上安装了Debian系统,打开Debian系统后却发现系统无法连接到网络(或者是电脑插入网线虚拟机可以访问网络,但是不插入网线连接WiFi虚拟机无法连接网络&a…

神经网络现状综述,神经网络现状分析

bp神经网络研究现状 BP网络的误差逆传播算法因有中间隐含层和相应的学习规则,使得它具有很强的非线性映射能力,而且网络的中间层数、各层神经元个数及网络的学习系数等参数可以根据实际情况设定,有很大的灵活性,且能够识别含有噪…

保姆教程系列二:国产数据库达梦无缝迁移

系列文章目录 保姆教程系列一、国产达梦数据库安装教程 保姆教程系列二、国产数据库达梦无缝迁移 保姆教程系列三、国产数据库整合Spring boot 文章目录系列文章目录前言简介一、登录达梦监控系统二、新建用户三、开始迁移四、下篇预告总结前言 请各大网友尊重本人原创知识分享…

04流程控制

本文仅作为个人纪录 流程控制 流程控制的作用: 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块 控制语句的分类: 控制语句分为三类:顺序、选择和循环。 “顺序结构” 代表 “先执…

linux服务器如何查看硬盘序列号

命令: hdparm -I 硬盘绝对路径 --其中参数可以使用 “I”也可以使用 “i” ,只是大写的参数展示的数据更详细; 注:这个命令普通用户无法使用,需要使用管理员权限;

网易云ncm,QQ音乐qmc,mgg,mflac,酷狗kgm解锁转换为flac格式

酷狗音乐怎么转换mp3格式?使用酷狗音乐听歌的人比较多,通常我们都是在手机、电脑等有联网的情况听的,而一旦想下载下来在其他设备上听的话,就会碰到问题了。 在酷狗上下歌曲的时候,发现下的是kgm、kgma格式&#xff0c…

ICML 2020 Work shop 图对比GRACE

talk 这篇文章还是有可读的必要性。 关注点: 1. 丢弃边 丢弃节点的 视图增强方法。 2. 不同于原来的 dgi gmi mvgrl 采用 JS散度 或者 Infomax的目标函数,本文采用 infonce。 3. Pubmed数据集引发的 对 评价指标 和 评价方法的 讨论 缺点: …

14天阅读挑战赛(学习建议)

14天阅读挑战赛努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于…

Inductive Entity Representations from Text via Link Prediction

研究问题 使用文本信息完成inductive KGC任务,并在inductive场景下提出了一些新的评估协议 背景动机 现有的基于结构的KGE模型无法处理动态图中新加入的实体,而这在现实生活中非常常见(inductive 场景定义:关系已知、实体未见&…

A-Level真题每期一练(11)

上期真题答案:1.D 2.B 3.D 4.C 5.A 接下来是今天的真题,一起练起来呀~ 1. An indirect tax on the production of a good will have no effect on price if demand is A inversely related to price. B of unitary elasticity. C perfectly elastic. D p…

OpenCV-Python学习(8)—— OpenCV 颜色表操作

1. 知识点 学习查找表 cv.LUT()【look up table】;颜色查找表;函数 cv.applyColorMap() 的使用。 2. cv.LUT() 函数说明 2.1 函数使用 cv.LUT(src, lut, dst)2.2 参数说明 参数说明src表示原始图像。lut表示查找表的地址,对于多通道图像…

mybatis-plus 代码生成工具报错:java.lang.NoSuchFieldError: GAUSS

目录 一、背景 二、问题 三、解决方案 1、网上的答案: 2、自己的方案: 四、总结: 一、背景 框架:springboot2.2.4.RELEASE、mybatis-plus3.3.1版本 二、问题 使用mybatis-plus已集成的自动生成代码框架生成代码 我当时查…

kubernets集群升级

1、环境介绍 操作系统:centos 7.9 kubernetes版本:v1.23 kubelet kubeadm kubectl版本:1.23.4 containerd版本:1.4.13 升级版本:v1.24.6–>v1.25.2 注意:使用kubeadm config升级失败,随改成逐级升级 网络…

系统分析师 - 纲要章节汇总

个人总结,仅供参考,欢迎加好友一起讨论 上午题 - 综合知识 章节考察内容分值计算机组成与体系结构 CISC、局部性原理、流水线、多级存储(Cache,内存,磁盘)、校验码、Flynn多处理机5 - 6操作系统PV操作与前趋图、虚拟存储、位示图…

C++类和对象(三)

文章目录前言1. 再谈构造函数🍑 构造函数体赋值🍑 初始化列表🍑 特性🍅 特性一🍅 特性二🍅 特性三🍅 特性四🍑 explicit 关键字2. static成员🍑 概念🍑 特性&…

推荐有礼 | 京东云推荐返利活动说明

京东云云推客是京东云推出的服务于代理商群体的交易服务平台。为代理商提供可代理产品、分销获客工具、渠道管理工具、对账结算工具等,赋能代理商数字化升级,实现降本增效。京东云云推客是京东云推出的服务于代理商群体的交易服务平台。为代理商提供可代理产品、分销获客工具…