由以上特点可以看出,在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树,而树结构中的每一个结点的度可以是任意的。另外,二叉树中的每个结点的子树被明显地分为左子树和右子树。在二叉树中,一个结点可以只有左子树而没有右子树,也可以只有右子树而没有左子树。当一个结点既没有左子树也没有右子树时,该结点即为叶子结点。
(2)二叉树的基本性质
二叉树具有以下几个性质:
性质1:在二叉树的第k层上,最多有2k-1(k≥1)个结点;
性质2:深度为m的二叉树最多有2m-1个结点;
性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
二叉树的遍历
在遍历二叉树的过程中,一般先遍历左子树,再遍历右子树。在先左后右的原则下,根据访问根结点的次序,二叉树的遍历分为三类:前序遍历、中序遍历和后序遍历。
(1)前序遍历:先访问根结点、然后遍历左子树,最后遍历右子树;并且,在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
(2)中序遍历:先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。
(3)后序遍历:先遍历左子树、然后遍历右子树,最后访问根结点;并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。
疑难解答:树与二叉树的不同之处是什么?
在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树,而树结构中的每一个结点的度可以是任意的。
二级公共基础知识试题
二级公共基础知识试题_公共知识
一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。这里小编给大家分享一些关于二级公共基础知识试题,方便大家学习了解。
二级公共基础知识试题
1[单选题] 下面对对象概念描述正确的是
A.对象间的通信靠消息传递
B.对象是名字和方法的封装体
C.任何对象必须有继承性
D.对象的多态性是指一个对象有多个操作
参考答案:A
参考解析:对象之间进行通信的构造叫做消息,A正确。多态性是指同一个操作可以是不同对象的行为,D错误。对象不一定必须有继承性,C错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B错误。
2[单选题] 一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
A.219B.229C.230D.231
参考答案:B
参考解析:二叉树中,度为0的结点数等于度为2的结点数加1,即n2=n0-1,叶子结点即度为0,则n2=79,总结点数为n0+n1+n2=80+70+79=229,答案为B。
3[单选题] 下面不能作为结构化方法软件需求分析工具的是
A.系统结构图B.数据字典(DD.C.数据流程图(DFD图)D.判定表
参考答案:A
参考解析:结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。
4[单选题] 下面不属于软件测试实施步骤的是
A.集成测试
B.回归测试
C.确认测试
D.单元测试
参考答案:B
参考解析:软件测试主要包括单元测试、集成测试、确认测试和系统测试。
5[单选题] 某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)