1、NOIP初赛复习7二叉树的遍历和性质NOIP初赛复习7二叉树的遍历和性质二叉树的遍历(图1)(图2)二叉树的遍历运算(递归定义)(1)先序遍历:根,左子树,右子树根在先例如图1:271653894;图2:ABCKDEHFJG(2)中序遍历:左子树,根,右子树 根在中例如图1:175632849;图2:BKCAHEDHFG(3)后序遍历:左子树,右子树,根根在后例如图1:153674982;图2:KCBHEJGFDA题型一:已知其中一些遍历结果,求其他遍历结果题型二:统计个不同的点可以构造多少棵不同的二叉树? Catalan数=C(n,2*n)/(n+1)题型三:中缀表达式向前缀和后缀表达式的转
2、化每日练习注:题1已知先序和中序,二叉树是唯一的。题2已知后序和中序,二叉树是唯一的。题3已知先序和后序,二叉树不是唯一的。1、已知先序:1 2 4 3 5 7 6,中序:2 4 1 7 5 3 6,请画出整棵二叉树。2、已知后序:4 5 2 6 7 3 1,中序:4 2 5 7 6 3 1,请画出整棵二叉树。3、已知先序:1 2 3 4 5 6, 后序:3 2 5 6 4 1,请画所有二叉树的情况。4、如果只知道先序,画出所有可能二叉树形状,并且计算多少种?5、如果只知道中序,画出所有可能二叉树形状,并且计算多少种?6、如果只知道后序,画出所有可能二叉树形状,并且计算多少种?往年真题1. 一
3、颗二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是( )。 A0 B2 C4 D 62.表达式a*(b+c)-d的后缀表达式是: A) abcd*+- B) abc+*d- C) abc*+d- D) -+*abcd3.二叉树T,已知其先序遍历是1 2 4 35 7 6(数字为节点编号,以下同),后序遍历是4 2 7 56 3 1,则该二叉树的中根遍历是()A4 2 1 7 5 3 6B2 4 1 7 5 3 6 C4 2 1 75 6 3 D2 4 1 57 3 64.二叉树T,已知其先根遍历是1 2 4 35 7 6(数字为结点编号,以下
4、同),中根遍历是2 4 1 57 3 6,则该二叉树的后根遍历是()A. 4 2 5 7 6 3 1 B. 4 2 7 5 6 3 1 C. 7 4 2 5 6 3 1 D. 4 2 7 6 5 3 15.已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为结点的编号,以下同),后根遍历是4 6 5 2 7 3 1,则该二叉树的可能的中根遍历是( )A. 4 2 6 5 1 7 3 B. 4 2 5 6 1 3 7 C. 4 2 3 1 5 6 7 D. 4 2 5 6 1 7 36.已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为节点的编号,以下同),中根遍历
5、是4 2 6 51 7 3,则该二叉树的后根遍历是()A4 6 5 27 3 1 B4 6 5 2 1 3 7 C4 2 3 1 5 4 7 D4 6 5 3 1 7 27.已知6个结点的二叉树的先根遍历是1 2 3 4 5 6(数字为结点的编号,以下同),后根遍历是3 2 5 64 1,则该二叉树的可能的中根遍历是() A. 3 2 1 46 5 B. 3 21 5 4 6 C. 2 3 1 5 4 6 D. 2 31 4 6 5二叉树的性质性质1:二叉树第i层上的结点数目最多为。性质2:深度为k的二叉树至多有个结点(k1)。性质3:二叉树中,叶子节点数为n0,度为2的结点数为n2,则n0=
6、n2+1。满二叉树定义:一棵深度为k且有个结点的二又树称为满二叉树。特点:每层都饱满。完全二叉树定义:除了最下层,其他每层都饱满,最下层的结点都集中在该层最左边的若干位置上。特点: 满二叉树是完全二叉树,完全二叉树不一定是满二叉树; 在满二叉树的最下层上,从最右边开始连续删去若干结点后得到的二叉树仍然是一棵完全二叉树。 在完全二叉树中,若某个结点没有左孩子,则它一定没有右孩子,即该结点必是叶结点。若I为结点编号则 如果I1,则其父结点的编号为I/2;若2*IN,则无左儿子若2*I+1N,则无右儿子。例题1:画一个深度为4的满二叉树。画一个深度为4的完全二叉树。例题2:具有3个结点的完全二叉树的
7、深度为( )具有6个结点的完全二叉树的深度为( ) 具有8个结点的完全二叉树的深度为( ) 具有125个结点的完全二叉树的深度为( ) 具有1024个结点的完全二叉树的深度为( )例题3:完全二叉树的结点数为n,求该完全二叉树的深度(层数)。解:设所求完全二叉树的深度为k。深度为k得完全二叉树的前k-1层是深度为k-1的满二叉树,一共有2(k-1)-1个结点。 由于完全二叉树深度为k,故第k层上还有若干个结点,因此该完全二叉树的结点个数: n2(k-1)-1。另一方面,假设节点最多,由此可推出:又因k-1和k是相邻的两个整数,故有。每日练习1.完全二叉树对每个节点从上往下,从左往右编号,第i层
8、的第j个节点的编号是()A 2i+j B 2i+j-1 C 2(i-1)+j D 2(i-1)+j-12.一棵有n个节点的完全二叉树的高度是( )3.二叉树是重要的数据结构,5个点的不同的二叉树有( )个。A22 B 30 C 40 D 424.完全二叉树的结点个数为4 * N + 3,则它的叶结点个数为( )。 A 2*N B 2*N-1 C 2*N+1 D 2*N-2 E 2*N+25.满二叉树的叶结点个数为N,则它的结点总数为( )。 A N B 2*N C 2*N1 D 2*N+1 E 2N16.在有N个叶子节点的哈夫曼树中,其节点总数为()A 不确定B 2N-1 C 2N+1 D 2
9、N7.一棵二叉树高度为h,所有结点的度为0,或为2,则此树最少有()个结点 A2(h-1) B 2h-1 C 2h+1 D h+18.按照二叉树的定义,具有3个结点的二叉树有( ) 种。 A 3 B 4 C 5 D 69、多选题对一个满二叉树,m个树叶,K个分枝结点,n个结点,则:( ) An=K+m BK+m=2n Cm=K-1 Dn=2K-110. 多选题关于二叉树的正确说法是( )。A 完全二叉树一定是满二叉树 B 满二叉树一定是完全二叉树C 深度为h的二叉树最多有2h-1个结点(h=1),最少有h个结点D 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N
10、2+1E 在二叉树中,第i层的结点总数不超过2(i-1);11. 完全二叉树的结点个数为11,则它的叶结点个数为( )A.4 B.3 C.5 D.2 E. 612.一个高度为h 的二叉树最少结点数目是()。 A 2h+1 B h C 2h-1 D 2h E 2(h-1)13. 设有一棵k叉树,其中只有度为0和k两种结点,设n0,nk分别表示度为0和度为k的结点个数,试求出n0,nk之间的关系(n0=数学表达式,数学表达式仅含nk,k和数字)14. 如果一棵m度树中有n1个度为1的结点,n2个度为2的结点,.有nm个度为m的结点,则该树中叶结点的的个数=_.栈与卡特兰数往年真题参考答案:1ACD
11、 2C 3D 4D 5C 6C二叉树的遍历(图1)(图2)二叉树的遍历运算(递归定义)(1)先序遍历:根,左子树,右子树根在先例如图1:271653894;图2:ABCKDEHFJG(2)中序遍历:左子树,根,右子树 根在中例如图1:175632849;图2:BKCAHEDHFG(3)后序遍历:左子树,右子树,根根在后例如图1:153674982;图2:KCBHEJGFDA题型一:已知其中一些遍历结果,求其他遍历结果题型二:统计个不同的点可以构造多少棵不同的二叉树? Catalan数=C(n,2*n)/(n+1)题型三:中缀表达式向前缀和后缀表达式的转化每日练习注:题1已知先序和中序,二叉树是
12、唯一的。题2已知后序和中序,二叉树是唯一的。题3已知先序和后序,二叉树不是唯一的。1、已知先序:1 2 4 3 5 7 6,中序:2 4 1 7 5 3 6,请画出整棵二叉树。2、已知后序:4 5 2 6 7 3 1,中序:4 2 5 7 6 3 1,请画出整棵二叉树。3、已知先序:1 2 3 4 5 6, 后序:3 2 5 6 4 1,请画所有二叉树的情况。4、如果只知道先序,画出所有可能二叉树形状,并且计算多少种?5、如果只知道中序,画出所有可能二叉树形状,并且计算多少种?6、如果只知道后序,画出所有可能二叉树形状,并且计算多少种?往年真题1. 一颗二叉树的前序遍历序列是ABCDEFG,后
13、序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是( )。 A0 B2 C4 D 62.表达式a*(b+c)-d的后缀表达式是: A) abcd*+- B) abc+*d- C) abc*+d- D) -+*abcd3.二叉树T,已知其先序遍历是1 2 4 35 7 6(数字为节点编号,以下同),后序遍历是4 2 7 56 3 1,则该二叉树的中根遍历是()A4 2 1 7 5 3 6B2 4 1 7 5 3 6 C4 2 1 75 6 3 D2 4 1 57 3 64.二叉树T,已知其先根遍历是1 2 4 35 7 6(数字为结点编号,以下同),中根遍历是2 4 1 57 3 6,
14、则该二叉树的后根遍历是()A. 4 2 5 7 6 3 1 B. 4 2 7 5 6 3 1 C. 7 4 2 5 6 3 1 D. 4 2 7 6 5 3 15.已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为结点的编号,以下同),后根遍历是4 6 5 2 7 3 1,则该二叉树的可能的中根遍历是( )A. 4 2 6 5 1 7 3 B. 4 2 5 6 1 3 7 C. 4 2 3 1 5 6 7 D. 4 2 5 6 1 7 36.已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为节点的编号,以下同),中根遍历是4 2 6 51 7 3,则该二叉树的后
15、根遍历是()A4 6 5 27 3 1 B4 6 5 2 1 3 7 C4 2 3 1 5 4 7 D4 6 5 3 1 7 27.已知6个结点的二叉树的先根遍历是1 2 3 4 5 6(数字为结点的编号,以下同),后根遍历是3 2 5 64 1,则该二叉树的可能的中根遍历是() A. 3 2 1 46 5 B. 3 21 5 4 6 C. 2 3 1 5 4 6 D. 2 31 4 6 5二叉树的性质性质1:二叉树第i层上的结点数目最多为。性质2:深度为k的二叉树至多有个结点(k1)。性质3:二叉树中,叶子节点数为n0,度为2的结点数为n2,则n0=n2+1。满二叉树定义:一棵深度为k且有个
16、结点的二又树称为满二叉树。特点:每层都饱满。完全二叉树定义:除了最下层,其他每层都饱满,最下层的结点都集中在该层最左边的若干位置上。特点: 满二叉树是完全二叉树,完全二叉树不一定是满二叉树; 在满二叉树的最下层上,从最右边开始连续删去若干结点后得到的二叉树仍然是一棵完全二叉树。 在完全二叉树中,若某个结点没有左孩子,则它一定没有右孩子,即该结点必是叶结点。若I为结点编号则 如果I1,则其父结点的编号为I/2;若2*IN,则无左儿子若2*I+1N,则无右儿子。例题1:画一个深度为4的满二叉树。画一个深度为4的完全二叉树。例题2:具有3个结点的完全二叉树的深度为( )具有6个结点的完全二叉树的深度
17、为( ) 具有8个结点的完全二叉树的深度为( ) 具有125个结点的完全二叉树的深度为( ) 具有1024个结点的完全二叉树的深度为( )例题3:完全二叉树的结点数为n,求该完全二叉树的深度(层数)。解:设所求完全二叉树的深度为k。深度为k得完全二叉树的前k-1层是深度为k-1的满二叉树,一共有2(k-1)-1个结点。 由于完全二叉树深度为k,故第k层上还有若干个结点,因此该完全二叉树的结点个数: n2(k-1)-1。另一方面,假设节点最多,由此可推出:又因k-1和k是相邻的两个整数,故有。每日练习1.完全二叉树对每个节点从上往下,从左往右编号,第i层的第j个节点的编号是()A 2i+j B
18、2i+j-1 C 2(i-1)+j D 2(i-1)+j-12.一棵有n个节点的完全二叉树的高度是( )3.二叉树是重要的数据结构,5个点的不同的二叉树有( )个。A22 B 30 C 40 D 424.完全二叉树的结点个数为4 * N + 3,则它的叶结点个数为( )。 A 2*N B 2*N-1 C 2*N+1 D 2*N-2 E 2*N+25.满二叉树的叶结点个数为N,则它的结点总数为( )。 A N B 2*N C 2*N1 D 2*N+1 E 2N16.在有N个叶子节点的哈夫曼树中,其节点总数为()A 不确定B 2N-1 C 2N+1 D 2N7.一棵二叉树高度为h,所有结点的度为0
19、,或为2,则此树最少有()个结点 A2(h-1) B 2h-1 C 2h+1 D h+18.按照二叉树的定义,具有3个结点的二叉树有( ) 种。 A 3 B 4 C 5 D 69、多选题对一个满二叉树,m个树叶,K个分枝结点,n个结点,则:( ) An=K+m BK+m=2n Cm=K-1 Dn=2K-110. 多选题关于二叉树的正确说法是( )。A 完全二叉树一定是满二叉树 B 满二叉树一定是完全二叉树C 深度为h的二叉树最多有2h-1个结点(h=1),最少有h个结点D 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1E 在二叉树中,第i层的结点总数不超过2(i-1);11. 完全二叉树的结点个数为11,则它的叶结点个数为( )A.4 B.3 C.5 D.2 E. 612.一个高度为h 的二叉树最少结点数目是()。 A 2h+1 B h C 2h-1 D 2h E 2(h-1)13. 设有一棵k叉树,其中只有度为0和k两种结点,设n0,nk分别表示度为0和度为k的结点个数,试求出n0,nk之间的关系(n0=数学表达式,数学表达式仅含nk,k和数字)14. 如果一棵m度树中有n1个度为1的结点,n2个度为2的结点,.有nm个度为m的结点,则该树中叶结点的的个数=_.栈与卡特兰数往年真题参考答案:1ACD 2C 3D 4D 5C 6C
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1