软考之路--像树一样活着

俞敏洪说:我们每一个人,都应该像树一样的成长,即使我们现在什么都不是,但是只要你有树的种子,即使你被踩到泥土中间,你依然能够吸收泥土的养分,自己成长起来。当你长成参天大树以后,遥远的地方,人们就能看到你;走近你,你能给人一片绿色。活着是美丽的风景,死了依然是栋梁之才,活着死了都有用。这就是我们每一个同学做人的标准和成长的标准,开头小编先罗嗦一下,给各位小伙伴来一段心灵鸡汤,今天我们的知识点就从树开始说起。

树,原指木本植物之总名,主要由根、干、枝、叶、花、果组成。随着计算机的发展,在数据结构中树被引申为由一个集合以及在该集合上定义的一种关系构成的,由根结点和若干颗子树构成的。二叉树是每个节点最多有两个子树的有序树。二叉树常被用于实现二叉查找树和二叉堆。值得注意的是,二叉树不是树的特殊情形。在图论中,二叉树是一个连通的无环图,并且每一个顶点的度不大于2。有根二叉树还要满足根结点的度不大于2。有了根结点后,每个顶点定义了唯一的根结点,和最多2个子结点。然而,没有足够的信息来区分左结点和右结点。软考和自考中多处设计到树和二叉树,今天就树和二叉树,小编做个简单的总结,小伙伴一起学习ha。

该博文小编主要从三个方面进行讲解,首先基本概念,其次树的遍历,最后二叉树的遍历,首先我们来看下面一张图,结合这张图,小编来讲解一下树的基本概念:

树的基本概念

树的度:所有结点度当中,度最高的一个。(上图树的度是3)。

叶子结点:如图中,3、5、6、7、9、10,都属于叶子节点,即叶子节点指的是度为0的节点。

分子结点:除了叶子结点,其他的都称为分之结点,和叶子结点构成互补的关系,图中1、2、4、8。

内部结点:分之结点除了根结点以外的,图中2、4、8。

父结点:如5号结点就是2号结点的子结点。

子结点:2号结点是5号结点的父结点。

兄弟结点:5、6、7称为兄弟结点,出自同一个父亲2号结点。这三个概念是一个相对的概念。

层次:0层、1层、2层、3层。

还有一个公式:总结点=所有度结点的和+1(应该是父结点)

树的遍历

我们还是来看下面这张图:

前序遍历:先从根部出发,然后由左向右,一颗一颗树来完成遍历。先访问根再访问叶子结点,这就是我画出来的前序遍历图,箭头的方向表示遍历的顺序,a为起点。

前序遍历的结果为1、2、5、6、7、3、4、8、9、10。

后序遍历:顾名思义,就是从叶子结点出发,先遍历叶子结点再到根结点,最后到父结点。我画出顺序可能会更直观点。如下图:

后序遍历的结果是:5、6、7、2、3、9、10、8、4、1。

层次遍历:按0层、1层、2层、3层,从左到右来遍历。

结果是:1、2、3、4、5、6、7、8、9、10

我们接着就可以来理解二叉树的重要的特性:

我们找五颗二叉树来进行分析:相互进行对比分析,如下图:

1、二叉树中,第i层上最多有2的i次方个结点(i>=0)。这个很基本,这也是二叉树和树的区别。

2、深度为K的二叉树至多有2的(k+1)次方 -1个结点(k>=0)。(深度为二叉树中层数最大的叶节点的层数),满二叉树的深度为2,则共有7个结点。

3、对任何一颗二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1;(一定不要忘了根结点的度也是2)。

二叉树的遍历

结合下面这张图说说二叉树的遍历

首先,我们来看前序遍历,如下图:

遍历的结果是:1、2、4、5、7、8、3、6。从根结点分两部分,先把左边的遍历完,都是从左到右的。

中序遍历,如下图

中序遍历的结果4、2、7、8、5、1、3、6.

后序遍历,如下图:

后序遍历的结果为4、8、7、5、2、6、3、1。

  层次遍历,如下图:

层次遍历的结果为1、2、3、4、5、6、7、8。

小编结语:整篇博文从简单的一些概念说起,其次树的遍历,最后二叉树的遍历,对于树和二叉树的相关知识小编就介绍到这里,欢迎小伙伴们一起学习交流,软考之路,未完,待续......

时间: 2024-08-03 11:26:45

软考之路--像树一样活着的相关文章

我的软考之路(四)——数据结构和算法(2)树和二叉树

上鲍恩描述了数据结构的线性结构,我们引入非线性结构本博客-树和二叉树.我想向大家介绍一些基本概念树,树遍历,然后介绍了二叉树的概念和特征.和二叉树遍历.叉树的对照,总结. 树为了描写叙述现实世界的层次结构,树结构中一个数据元素能够有两个或两个以上的直接后继元素. 树的基本概念: 树的概念是学习树的关键所在.掌握了树的基本概念,学会树与二叉树,so easy. 我通过一棵树来了解树的基本概念.例如以下图 1.结点的度 结点的度是子结点的个数.比如:结点1有三个字结点2,3,4,所以结点1的度为3.

我的软考之路(七)——数据结构与算法(5)之查找

上篇博文我重点介绍了八大内部排序,这篇博文(数据结构与算法的最后一课)重点介绍查找,我们依旧沿用上篇博文的风格,先简单介绍,再以例子重点讲解. 下面我们开始今天的旅行,首先祝你旅行愉快,呵呵. 静态查找 若查找目的是为了查询某个特定的数据是否在表中或检索某个特定数据的各种属性,则此类查找表为静态查找表. 1.顺序查找 基本原理:从表一端开始逐个和关键字进行比较,若找到一个记录和给定值相等,则查找成功,反之失败.再简单点就是,一个一个的比大小,看看是否相等. 例子: 顺序查找更适合于顺序存储结构和

我的软考之路(九)——总结篇

经过两个月的备战,软考总算结束了.软考虽然结束了,但是还需要简单的总结一下得与失.我从时间安排,到讲课做真题简单的回顾一下软考的整个过程. 时间安排: 对于时间的安排,整个小组成员每个人都有自己的看法,我就不在这里吐槽了.对于我来说,时间安排有点仓促,看书的时间是拿晚上的休息时间补过来的.看书让我将课本的概念性的知识简单的过了一遍,即补充了当初学习的不足,也恶补一下基本知识,不管对于软考,还是对于后面的继续学习都是有帮助的. 时间安排,没有什么合理与不合理.以松散的状态完成一项任务的时间是合理的

我的软考之路(五)——数据结构与算法(3)之图

图跟树一样,也是非线性结构,咋看起来有点复杂,其实它很简单.树具有层次关系,上层元素可以与下一个多个元素连接,但是只能和上层的一个元素连接.在图结构中,节点间的连接是任意的,任何一个元素都可以与其他元素连接. 图相对而言很简单,我们只介绍的图的遍历和最小生成树,现在我们开始. 遍历 1.概念 从图中某一个顶点出发,访问图中的每一个结点,并要求只能访问一次,不能重复访问. 2.方法 (1)广度优先遍历 基本思想:首先访问顶点,再访问顶点的全部未访问的邻结点,再访问邻结点的所有结点即可(类似树的层次

软考之路--用文字记录这个美丽的进程

进程,百度百科对她这样进行阐述,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元.,在小编的理解世界中,进程就是一段程序的执行过程,就好比中午要去食堂吃饭,从十一教走到中快食堂的路上的这个过程,就是进程,纯属小编的个人傻傻的理解,有不同想法的小伙伴欢迎讨论交流,这篇博文,小编主要来讲解一下进程的相关知识,如下图所示,小编会根据下图的框架,进行一一讲解,用文字记录这个美丽的进程......

我的软考之路(六)——数据结构与算法(4)之八大排序

排序是编程的基础,在程序中会常常使用,好的排序方法能够帮助你提高程序执行的效率,所以学好排序,打好基础,对于程序的优化会手到擒来.不管你的技术多么强,假设没有基础也强不到哪去. 不多说了,我们直接进入今天的主题. 总有人说排序非常难,可是我总认为非常easy,我们仅仅须要了解基本思想就好了,通过简单的样例来加深理解. 1.直接插入排序 (1)简单介绍:直接插入排序,从字面意思能够看出,直接插入数据完毕排序. (2)基本思想:在插入第i个数时,如果前i-1数已经排好序了,仅仅须要将第i个数插入到i

软考之路--数据结构之线性表

数据就是数值,也就是我们通过观察.实验或计算得出的结果.数据有很多种,最简单的就是数字.数据也可以是文字.图像.声音等.数据可以用于科学研究.设计.查证等.结构,组成整体的各部分的搭配和安排,两者完美结合在一起,我们这样需要重新认识她,对她重新审视与定义:数据结构是程序设计的重要理论和技术基础,她所讨论的内容和技术,对从事软件项目的开发有重要作用,通过学习数据结构,我们学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所设计的数据悬着适当的逻辑结构.存储结构及其相应的操作方法,为提高应

软考之路--开始的开始,我们都是孩子

为了软考,奋力一搏,没钱.没人脉.没背景,在人人自危的竞争中,要靠自己的真实力,这次考试我们积极备考,不打无准备之战,软考的目的,不仅仅是为了软考通过这么简单,在软考的背后还隐藏着一个古老的秘密,那就是为了学习知识,在个人重构,机房合作,牛腩新闻发布系统等学习中,小伙伴们有没有这样的疑问,出现了很多问题,解决了,但是具体的原理自己并不是很理解,这个时候,软考来了,驾着五彩的云霞,翩翩来到你眼前,解决我们计算机体系知识不全的问题.在面临自考,等级考,软考,计算机学习,英语学习等犹如冰糖葫芦的串儿的

软考之路--计算机背后的故事

文法:1.法制:法规. 2.文章的作法. 3.语法.语言的结构方式.包括词的构成和变化﹐词组和句子的组织.文法即文章的书写法规,一般用来指以文字.词语.短句.句子的编排而组成的完整语句和文章的合理性组织.这个是我们小时候接触过的关于文法的概念,那个时候的文法总是会和主语,宾语,谓语等联系在一起. 二十年过去了,今天她再次出现在我面前,还是一样的眼神,藏在记忆深处的"文法"跟眼前的这个"她"有什么不一样呢?在计算机科学中,文法是编译原理的基础,是描述一门程序设计语言和