树的遍历和图的遍历的异同

一、认识的理清

1、 应该认识到“深度优先”和“广度优先”是算法思想,而递归是实现“深度优先”的一种方法(深度优先可以非递归实现);

2、 深度优先搜索也叫深度优先遍历(DFS,Depth_Fisrt_Search);

3、 遍历的目的是把节点按照一定的规则排成线性序列(存储的时候线性存储,但画图表现时并非如此),访问节点时按照此顺序访问。

4、 遍历是一个过程,这过程中带有相应的操作,比如判断、求解问题啥的。


二、图的遍历

概念:从图的某一点出发访问其余顶点,且使得每一个顶点仅仅被访问一次,这过程叫图的遍历。

1、深度优先遍历:不到黄河不死心,死心后返回;关键在于所有点都被访问一遍,可能有回退(一般都有)。

2、广度优先遍历:之前我以为同层之间的相邻节点必须有边,但是这理解是错误的,实际上像树的层次遍历,只要求把其所有子节点入队,不要求相邻子节点之间有边。


三、树的遍历

1、前序、中序、后序遍历,其实都采用的是DFS思想,DFS思想常用递归实现;

2、层次遍历,采用的是BFS思想,采用队列这种数据结构实现。

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

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

相关文章

VS2012和XE2013的关联和设置问题

1. 首先要正确安装Microsoft VisualStudio 2012 Intel Parallel Studio XE 2013,其中,先安装VS2012,再安装XE2013。 2.Microsoft Visual Studio 2012 Intel Parallel Studio XE 2013集成检验: 打开:开始所有程序-&…

语文成绩

题目背景 语文考试结束了,成绩还是一如既往地有问题。 题目描述 语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行。她总是要一遍遍地给某些同学增加分数,又要注意最低分是多少。你能帮帮她吗? //这又跟神器…

最小生成树和最短路径

一、概念的理清 1、图分为连通图和非连通图,我们一般讨论连通图。带权的图叫做网。 2、连通图的生成树:(1)包含图的所有的n个顶点;(2)只有n-1条边,且这n-1条边足以构成一棵树&…

推荐一款移动端的web UI控件 -- mobiscroll

用mobiscroll 可实现ios系统自带的选择器控件效果,支持几乎所有的移动平台(iOS, Android, BlackBerry, Windows Phone 8, Amazon Kindle),当然在pc的浏览器上跑,效果也还不错。建议使用支持css3的浏览器访问^_^ 支持换肤,效果和性…

I2C通信 读写数据过程

在通信之初,主从机必须根据自己的要求约定好通信规则:command的定义和位置、address的位数和位置。 以读写从机寄存器数据为例: 假设从机寄存器地址为8位、从机寄存器也位8位(被读取数据为8位); 约定读comm…

C++的运算符重载(转)

C的运算符重载 cc扩展语言 C中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C中重新定义这些运算符,赋予已有运算符新的功能&#xff0c…

Android 用户界面---样式和主题(Styles and Themes)(二)

样式属性 理解了样式是如何定义的之后&#xff0c;就需要学习<item>元素都定义了那些有效的样式属性类型。你可能已经熟悉了像layout_width和textColor属性&#xff0c;但是还有更多的可以使用的样式属性。 查找应用于指定的View对象的最好的地方是对应的类参考&#xff…

Android应用程序结构总结

2019独角兽企业重金招聘Python工程师标准>>> Android应用程序结构分析 由于是初学者&#xff0c;对于Android应用程序的结构的认识是一穷二白的&#xff0c;对于开发Android应用程序&#xff0c;必须先了解其程序的结构和作用。一下就用一个简单的例子来解剖&#…

递归--整数划分问题

问题描述&#xff1a; 将正整数n表示成一系列正整数之和&#xff1a;nn1n2…nk&#xff0c;其中n1≥n2≥…≥nk≥1&#xff0c;k≥1。正整数n的这种表示称为正整数n的划分。 问题1&#xff1a; 输出整数n的所有可能的划分&#xff0c;如&#xff1a; 输入&#xff1a;6 输出&am…

嵌入式软件开发注意事项一

嵌入式软件开发注意事项一1、首先对测试板进行各方面硬件性能的测试&#xff1a;电源测试&#xff0c;时钟测试等等。要确保硬件最基本的几个性能是正常的&#xff0c;否则后面真的无法进行软件的开发&#xff0c;因为如果你没有确保硬件的正确性&#xff0c;那么后面进行软件调…

Oracle 表空间与数据文件

-- --Oracle 表空间与数据文件 -- /* 一、概念 表空间&#xff1a;是一个或多个数据文件的逻辑集合 表空间逻辑存储对象&#xff1a;永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空间分类&#xff1a;系统表空间…

简单的深度优先遍历和广度优先遍历

代码来源于《啊哈&#xff01;算法》。 1、深度优先遍历&#xff1a; &#xff08;1&#xff09;无权值 #include<stdio.h> int book[101],n, e[1001][1001], sum; void DFS(int cur) {int h;sum;printf("%d ", cur);//目前所在点进行的操作&#xff0c;可以…

【 2013华为杯编程大赛成都第三组前两题试题及答案】

2013-09-12 16:41:24 题目描述 某省会城市街道纵横交错&#xff0c;为了监控路灯的运行状况&#xff0c;每条街道使用一个数字字符串标识该街道上所有路灯的运行状况。假设路灯只有如下3种状态&#xff08;分别用数字0, 1, 2标识&#xff0c;一盏路灯只对应其中一种状态&#x…

webrtc笔记(1): 基于coturn项目的stun/turn服务器搭建

webrtc是google推出的基于浏览器的实时语音-视频通讯架构。其典型的应用场景为&#xff1a;浏览器之间端到端(p2p)实时视频对话&#xff0c;但由于网络环境的复杂性(比如&#xff1a;路由器/交换机/防火墙等&#xff09;&#xff0c;浏览器与浏览器很多时候无法建立p2p连接&…

ADS中startup.s文件启动分析

映像文件分析&#xff0c;ADS 中startup.s 文件启动分析&#xff0c;学嵌入式开发ADS 必看2010-04-17 10:21声明&#xff1a; 我也是转来的&#xff0c;不是原创&#xff0c;由于别人是网易的日志&#xff0c;不能直接转&#xff0c;所以…… 感谢原创&#xff01;让我明白了st…

String Statistics(2008年珠海市ACM程序设计竞赛)

String Statistics 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 描述 You have an n n matrix of lower-case letters. You start from somewhere in the matrix, walk in one of the eight directions (left, right, up, down, up-left, up-right, …

从0-1背包问题学习回溯法、分支界限法、动态规划

一、0-1背包问题的描述 下面将使用回溯法、分支界限法、动态规划法来分析和解决此问题。 二、回溯法 &#xff08;1&#xff09;算法步骤 &#xff08;2&#xff09;代码如下&#xff08;没有裁剪函数&#xff09;&#xff1a; 用i和n来判断结束与否&#xff0c;是因为解空间…

高可用性的HDFS—Hadoop分布式文件系统深度实践

《高可用性的HDFS—Hadoop分布式文件系统深度实践》基本信息作者&#xff1a; 文艾 王磊 出版社&#xff1a;清华大学出版社 ISBN&#xff1a;9787302282587上架时间&#xff1a;2012-5-14出版日期&#xff1a;2012 年5月开本&#xff1a;16开页码&#xff1a;371版次&#xff…

推荐:解析“extern”

http://blog.csdn.net/keensword/article/details/401114 写的很不错转载于:https://www.cnblogs.com/ATually/archive/2012/04/05/2432826.html