收藏 分享(赏)

数据结构(c语言版)习题-树.doc

上传人:tkhy51908 文档编号:7143563 上传时间:2019-05-07 格式:DOC 页数:5 大小:279KB
下载 相关 举报
数据结构(c语言版)习题-树.doc_第1页
第1页 / 共5页
数据结构(c语言版)习题-树.doc_第2页
第2页 / 共5页
数据结构(c语言版)习题-树.doc_第3页
第3页 / 共5页
数据结构(c语言版)习题-树.doc_第4页
第4页 / 共5页
数据结构(c语言版)习题-树.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、一、选择题1一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为 ABC*+DE/-,其前缀形式为( )A-A+B*C/DE B. -A+B*CD/E C-+*ABC/DE D. -+A*BC/DE2算术表达式 a+b*(c+d/e)转为后缀表达式后为( )Aab+cde/* Babcde/+*+ Cabcde/*+ Dabcde*/+3. 在一颗度为 4的树 T中,若有 20个度为 4的结点,10 个度为 3的结点,1 个度为 2的结点。则树 T的叶结点个数是( )。A. 41 B. 82 C. 113 D. 1224. 设树 T的度为 4,其中度为 1,2,3 和 4的结点个数分别为

2、4,2,1,1 则 T中的叶子数为( )A5 B6 C7 D85. 在下述结论中,正确的是( )只有一个结点的二叉树的度为 0; 二叉树的度为 2; 二叉树的左右子树可任意交换;深度为 K的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A B C D6. 设森林 F对应的二叉树为 B,它有 m个结点,B 的根为 p,p的右子树结点个数为 n,森林 F中第一棵树的结点个数是( )Am-n Bm-n-1 Cn+1 D条件不足,无法确定7若一棵二叉树具有 10个度为 2的结点,5 个度为 1的结点,则度为 0的结点个数是( )A9 B11 C15 D不确定8设森林 F中有三棵树,第一,第二,第

3、三棵树的结点个数分别为 M1,M2 和 M3。与森林 F对应的二叉树根结点的右子树上的结点个数是( ) 。AM1 BM1+M2 CM3 DM2+M39一棵完全二叉树上有 1001个结点,其中叶子结点的个数是( ) 。A 250 B 500 C254 D505 E以上答案都不对 10. 设给定权值总数有 n 个,其哈夫曼树的结点总数为( )。A不确定 B2n C2n+1 D2n-111若度为 m的哈夫曼树中,其叶结点个数为 n,则非叶结点的个数为( ) 。An-1 Bn/m-1 C(n-1)/(m-1) D n/(m-1)-1 E(n+1)/(m+1)-112. 有关二叉树下列说法正确的是( )

4、A二叉树的度为 2 B一棵二叉树的度可以小于 2 C二叉树中至少有一个结点的度为 2 D二叉树中任何一个结点的度都为 213二叉树的第 I层上最多含有结点数为( )A2 I B 2 I-1-1 C 2 I-1 D2 I -114. 一个具有 1025个结点的二叉树的高 h为( )A11 B10 C11 至 1025之间 D10 至 1024之间15一棵二叉树高度为 h,所有结点的度或为 0,或为 2,则这棵二叉树最少有( )结点A2h B2h-1 C2h+1 Dh+1 16对于有 n 个结点的二叉树, 其高度为( )Anlog 2n Blog 2n Clog 2n|+1 D不确定17. 一棵具

5、有 n 个结点的完全二叉树的树高度(深度)是( )Alogn +1 Blogn+1 Clogn Dlogn-118深度为 h的满 m叉树的第 k层有( )个结点。(1=post(b)C)a 是 b的后代且 in(a)1)的二叉树,其叶子结点数小于或等于 2h-1,而其内部结点(除根结点和叶子结点之外的结点)数小于 2h-11。四、算法设计题adcbNUL adcbNULNULadcbNULadcbL1、二叉链表为存储结构,写出二叉树宽度的算法,所谓宽度是指二叉树的各层上,具有结点数最多的那一层上的结点总数。2、已知某二叉树的后序遍历和中序遍历序列,生成一棵用二叉链表表示的二叉树,采用递归算法实

6、现。ppos和 ipos分别存放二叉树的后序遍历和中序遍历序列,n 表示结点数TNODE *restore(char *ppos,char *ipos,int n)3、一对老夫妻生有多个子女,有些子女已成亲并生有多个子女,如此繁衍下去(一夫一妻制,不考虑丧偶) 。用二叉树 T表示该大家族,用根结点表示父或母(祖先) ,根结点的左子女表示配偶,配偶的右子女表示子女。这种二叉树可以看成类似树的孩子兄弟链表表示法;根结点是父或母,根无右子女,左子女表示配偶,配偶的右子女(右子女的右子女等)均可看成兄弟姐妹(即父母的所有子女) ,这些结点又可成为新的双亲。设计设计算法求任意家族成员 p的所有子女。提示

7、:首先递归查找某家族成员结点,若查找成功,要么其左子女是配偶,配偶的右子女及右子女的右子女等均为父母的子女,要么其右子女及右子女的右子女等均为父母的子女。因此设计两个操作:BiTree Search(BiTree T,ElemType p)/在二叉树上查找值为 p的结点void PrintSons(BiTree T,ElemType p)/调用前一个操作在二叉树上输出结点值为 p的所有的子女4、已知二叉树采用二叉链表方式存放,要求对二叉树从开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一结点的左右孩子中,左孩子编号小于右孩子编号。给出在二叉树中结点的数据域部分填写,实现如上要求编

8、号的非递归算法。 (10 分)5、在中序线索树中,要找出结点的前驱结点,请写出相关函数定义。6、设二叉树以二叉链表形式存放。一颗二叉树的繁茂程度定义为各层节点数的最大值与树的高度的乘积。试设计一个高效算法,求二叉树的繁茂程度。7、以孩子-兄弟链表为存储结构,写一算法,求树的度。8、二叉树 T的中序遍历序列和层次遍历序列分别是 BAFDGCE和 ABCDEFG,试画出该二叉树,并写出由二叉树的中序遍历序列和层次遍历序列确定二叉树的算法。9、设中序穿线二叉树的结点由五个域构成:info:给出结点的数据场之值。LL:当 LT 为 1 时,则给出该结点的左儿子之地址,当 LT为 0时,则给出按中序遍历

9、的前驱结点的地址。LT:标志域,为 1或为 0。RL:当 RT为 1时,则给出该结点的右儿子的地址;当 RT为 0时,则给出按中序遍历的后继结点地址。RT: 标志域为 0或为 1。10、请编写程序,在具有上述结点结构的中序穿线二叉树上,求某一结点 p的按后序遍历次序的后继结点的地址 q,设该中序穿线二叉树的根结点地址为 r。另外,请注意必须满足:(1)额外空间的使用只能为 O(1),(2)程序为非递归。11、写出在中序线索二叉树里;找指定结点在后序下的前驱结点的算法。12、假设二叉树采用链式存储结构进行存储,root为根结点,p为任一给定的结点,请写出求从根结点到 p之间路径的非递归算法。13

10、、设二叉树的结点具有如下的结构:(lchild,info,rchild) ,指针变量 BT指向该树的根结点,试设计一个算法打印出由根结点出发到达叶结点的所有路径。14、已知二叉树用下面的顺序存储结构,写出中序遍历该二叉树的算法。1 2 3 4 5 6 7 8 9data A B C D E F G H ILc 2 4 0 0 0 8 0 0 0Rc 3 5 6 0 7 9 0 0 015、设二叉树的结点结构是(Lc,data,Rc) ,其中 Lc、Rc 分别为指向左、右子树根的指针,data 是字符型数据 。试写出算法,求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。16、在二叉树中查找值为 x的结点,请编写一算法用以打印值为 x的结点的所有祖先,假设值为 x的结点不多于 1个。17、设计将二叉树 bt中每一个结点的左右子树互换的非递归算法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报