邻接表按深度优先遍历和按广度优先遍历的序列

news/2024/7/20 22:51:22 标签: 深度优先, 广度优先, 数据结构期末

求此邻接表的深度优先遍历序列和广度优先遍历序列。

  深度优先:按深度优先遍历时会有类似"跳转"的操作,比如例1中顶点v1→边v2后,会直接跳转到顶点v2去,再重新从顶点v2→边v1,由于v1访问过,所以变为v2→边v5,再跳转到顶点v5去,直到每个顶点都被访问过。抽象理解为"跳转",实际上是递归。那么例1按深度优先遍历的序列如下:

v1→v2→v5→v3→v4→v6

  广度优先:按广度优先遍历实际上就是一条路走到黑, 比如例1中顶点v1→边v2→边v3→边v4,此时,再从顶点v2开始,顶点v2→边v1(访问过)→边v5,再从顶点v3开始,再从顶点v4开始......直到每个顶点都被访问过。实际上里面运用了队列,这个和二叉树按层次遍历非常相似。那么例1按广度优先遍历的序列如下:

v1→v1→v3→v4→v5→v6

 

留下一题试试身手,答案在评论区。

 


http://www.niftyadmin.cn/n/1003811.html

相关文章

linux--用户相关

目录 一.要在云服务器官网重置root密码成功后才能登录xshell(重装系统后登录也不例外) 二.添加普通用户: 三.查看root下有几个普通用户: 四.给用户设置密码: 五、用户登录​编辑 六、查看当前所在用户: 七、查看…

文本分析-使用jieba库实现TF-IDF算法提取关键词

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

基于SpringBoot的家庭理财记账系统的设计与开发

1.引言 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

为什么异或操作可以进行变量交换

public class ArraySwapExample {public static void main(String[] args) {int[] arr {10, 20};System.out.println("交换前:" Integer.toBinaryString(arr[0]) ", " Integer.toBinaryString(arr[1]));// 使用异或操作交换数组中的两个值a…

【LeetCode】动态规划 刷题训练(七)

文章目录 918. 环形子数组的最大和题目解析状态转移方程f[i]状态转移方程g[i]状态转移方程 初始化返回值完整代码 152. 乘积最大子数组题目解析状态转移方程f[i]状态转移方程g[i]状态转移方程 初始化完整代码 1567. 乘积为正数的最长子数组长度题目解析状态转移方程f[i]状态转移…

座舱域控,搭载率突破10%!

智能座舱的电子架构升级,正在进入新的市场增长周期。 高工智能汽车研究院监测数据显示,2023年1-5月中国市场(不含进出口)乘用车前装标配座舱域控制器交付88.46万辆,同比增长79.89%,前装搭载率首次突破10%&…

Linux Shell基础知识

预计更新 1: 基础知识 简介和安装 基本命令 变量和环境变量 2: 流程控制 条件语句 循环语句 函数 3: 文件处理 文件读写 文件权限和所有权 文件搜索和替换 4: 网络和进程 网络通信 进程管理 信号处理 5: 文本处理 正则表达式 文本分析和处理 生成报告和日志 6: 用户界面 命…

python高效爬虫的实现可以从哪些方面入手

在爬取数据的时候大家都希望自己的程序是能高效完成爬虫任务的,高效爬虫在提高爬取速度的同时也增加了爬取的数据量。这对于需要大量数据支撑的数据分析、机器学习、人工智能等任务非常重要。高效爬虫可以获取更多的原始数据,并允许更精准的数据清洗和处…