武汉软件工程职业学院软件技术专业大二2019数据结构二测
武汉软件工程职业学院数据结构讲义第2讲树和2叉树

➢教学重点:二叉树的定义、二叉树的性质➢教学难点:二叉树的性质➢授课内容4.1 树的定义和基本术语前面讨论线性结构的表示及其应用实例。
然而,线性结构在许多实际应用中不能明确、方便地表示数据元素之间的复杂关系。
树型结构是一种应用十分广泛的非线性结构,其中以二叉树最为常用,它是以分支定义的层次结构。
树型结构在客观世界中广泛存在,如家族的家谱、各种社会组织机构,一般都可以用树来形象地表示。
在计算机领域中,编译系统中源程序的语法结构、数据库系统中信息的组织形式也用到树形结构。
本章重点讨论二叉树的存储结构、各种操作及其应用实例。
4.1.1 树的定义1. 定义树(tree)是由n(n>0)个结点组成的有限集合T且满足以下条件。
1)有且仅有一个特定的结点被称为该树的根(Root)。
2)除根结点之外的其余结点可分为m(m >0)个互不相交的集合T1,T2,...,Tm,且其中每个集合又是一棵树,并称之为根的子树(Subtree)。
这是一个递归的定义,即在定义中又用到了树的概念,这也反映了树的固有特性。
图4-1-1是两棵树的示例。
(a)是只有一个根结点A的树。
(b)是一棵由11个结点组成的树T,其中A是根结点,其余结点分为三个互不相交的子集:T1={B,E,F,G,K},T2={C,H},T3={D,I,J}。
T1,T2,T3也都是树,且是根A的子树,这三棵子树的根结点分别为B、C、D,每棵子树还可以继续划分。
第十二讲树和二叉树(a) 一棵树结构 (b)一个非树结构 (c)一个非树结构 (d)一个非树结构图4-1-1(b )所示的树,还可以用图4-1-2所示的方法表示。
树的基本术语 树的结点 树的结点包含一个数据元素及若干个指向其子树的分支。
结点的度和树的度 结点的度是结点的子树的个数。
树的度是树中结点度的最大值。
例如图4-1-1(b )中,结点A 和B 的度为3,结点D 的度为2;而树T 的度为3。
叶子和分支结点 度为零的结点称为叶子或终端结点。
武汉软件工程职业学院软件技术专业大二2019年数据结构--13.14.15单元测试题

武汉软件工程职业学院软件技术专业大二2019年数据结构--13.14.15单元测试题1. 串是一种特殊的线性表,其特殊性体现在() [单选题] *A. 可以顺序存储B. 数据元素是一个字符(正确答案)C. 可以链接存储D. 数据元素可以是多个字符2. 某串的长度小于一个常数,则采用()存储方式最节省空间 [单选题] *A. 链式B. 堆结构C. 顺序(正确答案)D. 无法确定3. 若串S="ABCD",其子串的数目最多是:() [单选题] *A. 11(正确答案)B. 9C. 10D. 84. S1="good",S2="morning",执行串连接函数ConcatStr(S1,S2)后的结果为()[单选题] *A. "GOOD MORNING"B. "good morning"C. "GOODMORNING"D. "goodmorning"(正确答案)5. 有如下代码char s[]="interesting";则s数组的的长度是() [单选题] *A. 12(正确答案)B. 11C. 13D. 106. 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为() [单选题] *A. 求子串B. 联接C. 匹配(正确答案)D. 求串长7. 串的表示方式有() *A. 定长顺序存储表示(正确答案)B. 堆分配存储表示(正确答案)C. 块链存储表示(正确答案)D. 栈式存储表示8. 以下字符串处理函数中,返回值是char*的是() *A. Strcat--字符串连接(正确答案)B. Strcmp--字符串比较 1 -1 0 intC. Strcpy--字符串拷贝(正确答案)D. Strlen--求字符串长度9. 以下字符串处理函数中,参数是两个的是() *A. strcat(正确答案)B. strcmp(正确答案)C. strcpy(正确答案)D. Strlen10. 以下字符串处理函数中,参数是一个的是() *A. strcatB. puts(正确答案)C. gets(正确答案)D. Strlen(正确答案)11. 以下论述错误的是() *A. 空串与空格串是相同的(正确答案)B. "ton"是"Teleptone"的子串C. 空格串是有空格的串(正确答案)D. 空串的长度等于1(正确答案)12. strcat的参数个数不是() *A. 1(正确答案)B. 3(正确答案)C. 2D. 0(正确答案)13. char s[100]="abc"; 则执行strcpy(s,strcat(s,"123"));后s的结果不是() *A. 123abc(正确答案)B. abc(正确答案)D. abc12314. 函数strlen的返回值类型与函数strcmp相同。
武汉软件工程职业学院软件技术专业大二2019年数据结构期末测试

武汉软件工程职业学院软件技术专业大二2019年数据结构期末测试(1)下列数据结构,( )属于线性结构。
() [单选题] *A.图B.栈与队列(正确答案)C.集合D.树(2)非线性结构中的每个结点( )。
() [单选题] *A.无直接前趋结点B.无直接后继结点C.只有一个直接前趋结点和一个直接后继结点D.可能有多个直接前趋结点和多个直接后继结点(正确答案)(3)以下任何两个结点之间都没有逻辑关系的是( )() [单选题] *A.图形结构B.线性结构C.树形结构D.集合(正确答案)(4)顺序存储结构的最大优点是( )。
() [单选题] *A.便于随机存取(正确答案)B.存储密度底C.无需预分配空间D.便于进行插入和删除操作(5)链式存储设计时,结点内的存储单元地址()。
() [单选题] *A.一定连续(正确答案)B.—定不连续C.不一定连续D.部分连续,部分不连续(1)算法能正确的实现预定功能的特性称为算法的( )。
() [单选题] *A.正确性(正确答案)B.易读性C.健壮性D.高效性(2)算法的描述便于阅读,以利于后续对算法的理解和修改称为算法的( )。
() [单选题] *A.正确性B.易读性(正确答案)C.健壮性D.高效性(3)下列算法的时间复杂度是( )()x=0;y=0;s=0;for(i=1;i<=n;++i)for(k=1;k<=n;++k)for(j=1;j<=n;++j){++y; s+=y;}for(k=1;k<=n;++k){++x; s+=x;} [单选题] *A.O(n)B. O(n2)C. O(n3)(正确答案)D. O(1)(4)下列算法的时间复杂度是( )。
()x=0;y=0;s=0;++y; s+=y;++x; s+=x; [单选题] *A.O(n)B. O(n2)C. OO(n3)D. O(1)(正确答案)(5)下列算法的时间复杂度是( )。
武汉软件工程职业学院软件技术专业大二2019数据结构第六单元测试题

武汉软件工程职业学院软件技术专业大二2019数据结构第六单元测试题您的姓名: [填空题] *_________________________________1. 下列选项中符合线性表的特点是()。
[单选题] *一对多一对一(正确答案)多对多多对一2. 数据结构中线性表的链式存储结构也被称为() [单选题] *图表顺序表集合表链表(正确答案)3. 在n个元素的顺序表的第i个位置插入元素需要移动几个元素值() [单选题] * n-2nn-i+1(正确答案)n-14. 顺序表的一个存储结点仅存储线性表的一个() [单选题] *数据项数据元素(正确答案)数据数据结构5. 线性表是() [单选题] *一个有限序列,可以为空(正确答案)一个有限序列,不能为空一个无限序列,可以为空一个无限序列,不能为空6. 在数据结构中,线性表是() [单选题] *算法图形结构n个元素的有限序列(正确答案)二叉树7. 以下关于算法的存储量高低用()来衡量正确的是 [单选题] *时间复杂度算法的步骤数空间复杂度(正确答案)算法的长度8. (专基)空间复杂度记作:()。
[单选题] *T(n)=O(f(n))S(n)=O(f(n))(正确答案)T(n)=f(n)S(n)=f(n)9. 下面代码段的时间复杂度正确的是()void f1(int n){ int i=1,k=0; while( i<n ) { k+=10*i; i++; }} [单选题] *O(1)O( n*n)O(n)(正确答案)O(log2n)10. 数据项和数据元素分别是数据的()和() [单选题] *基本单位最大单位最小单位基本单位(正确答案)最大单位基本单位都不对11. 以下哪个选项属于算法的五大特性之一() [单选题] *有穷性(正确答案)可读性正确性无二义性12. 数据结构是指互相之间存在一种或多种特定关系的()的集合 [单选题] *集合数据数据项数据元素(正确答案)13. 数据元素与数据项的关系正确的是() [单选题] *数据元素>数据项(正确答案)数据元素<数据项数据项>数据元素都不对14. 以下选项属于逻辑结构的是() [单选题] *索引结构链式结构图形结构(正确答案)顺序结构15. 在下面的程序段中,时间复杂度为()。
武汉软件工程职业学院软件技术专业大二《java程序设计》期末考试

武汉软件工程职业学院软件技术专业大二《java程序设计》期末考试基本信息:[矩阵文本题] *1. 下面说法正确的是()。
[单选题]A、Java程序的main()方法必须都写在类里面(正确答案)B、Java程序中可以有多个main()方法C、Java程序的类名必须与文件名一样D、Java程序的main()方法中如果只有一条语句,可以不用{}括起来2. Java源代码文件的扩展名为()。
[单选题]A、.txtB、.classC、.docD、.java(正确答案)3. 在控制台显示消息的语句正确的是()。
[单选题]A、System.out.println(我是一个Java程序员了!);B、System.out.println(”我是一个Java程序员了!”);(正确答案)C、system.out.println(”我是一个Java程序员了!”);D、System.Out.Println(”我是一个Java程序员了!”);4. 开发Java程序的步骤正确的是() [单选题]A、编译—>编写源程序—>运行B、运行—>编译—>编写源程序C、编写源程序—>运行—>编译D、编写源程序—>编译—>运行(正确答案)5. 以下说法不正确的是() [单选题]A、按照市场需求Sun公司对Java技术进行了划分,使用最广泛的是JavaSE和JavaEEB、JavaSE是Java技术的核心,提供基础Java开发工具,执行环境和应用程序接口C、JavaEE主要用于桌面应用程序的开发,而JavaSE主要用于网络程序和企业级应用的开发(正确答案)D、JavaEE是在JavaSE的基础上扩展的6. 选出在Java中无效的注释声明()。
[单选题]A、//这是注释B、/**这是注释*/C、/这是注释(正确答案)D、/*这是注释*/7. 以下()不是合法的标识符。
[单选题]A、double123B、3x(正确答案)C、sumD、de2sf8. 下列语句中,()正确完成整型变量的声明和赋值。
武汉软件工程职业学院《数据结构讲义》第01讲 数据结构的基本概念和术语

第一讲数据结构的基本概念和术语教学重点:数据结构与算法的基本概念的理解。
教学难点:抽象数据类型及其操作。
授课内容计算机科学是一门研究数据表示和数据处理的科学。
数据是计算机化的信息,它是计算机可以直接处理的最基本和最重要的对象。
无论是进行科学计算或数据处理、过程控制以及对文件的存储和检索及数据库技术等计算机应用领域中,都是对数据进行加工处理的过程。
因此,要设计出一个结构好效率高的程序,必须研究数据的特性及数据间的相互关系及其对应的存储表示,并利用这些特性和关系设计出相应的算法和程序。
1.1 数据结构的基本概念和术语数据结构是计算机科学与技术专业的专业基础课,是十分重要的核心课程。
所有的计算机系统软件和应用软件都要用到各种类型的数据结构。
因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付众多复杂的课题的。
要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。
打好“数据结构”这门课程的扎实基础,对于学习计算机专业的其他课程,如操作系统、编译原理、数据库管理系统、软件工程、人工智能等都是十分有益的。
1.1.1 引言在计算机发展的初期,人们使用计算机的目的主要是处理数值计算问题。
当我们使用计算机来解决一个具体问题时,一般需要经过下列几个步骤:首先要从该具体问题抽象出一个适当的数学模型,然后设计或选择一个解此数学模型的算法,最后编出程序进行调试、测试,直至得到最终的解答。
例如,求解梁架结构中应力的数学模型的线性方程组,该方程组可以使用迭代算法来求解。
由于当时所涉及的运算对象是简单的整型、实型或布尔类型数据,所以程序设计者的主要精力是集中于程序设计的技巧上,而无须重视数据结构。
随着计算机应用领域的扩大和软、硬件的发展,非数值计算问题越来越显得重要。
据统计,当今处理非数值计算性问题占用了90%以上的机器时间。
这类问题涉及到的数据结构更为复杂,数据元素之间的相互关系一般无法用数学方程式加以描述。
武汉工程职业学院软件技术专业大二2019数据结构与算法测试题第十九单元2(多选+判断)

武汉工程职业学院软件技术专业大二2019数据结构与算法测试题第十九单元2(多选+判断)您的姓名: [填空题] *_________________________________1、以下字符串中,是回文字符串的是()。
*A abcba(正确答案)B 12321(正确答案)C 1221(正确答案)D abcdef2、回文字符串的判断可以使用的方法有()。
*A 递归方式(正确答案)B 非递归方式利用循环解决(正确答案)C 非递归方式用系统函数解决(正确答案)D 以上答案都正确(正确答案)3、判断字符串a和b是否相等使用错误的方式是()。
*A if (a==b)(正确答案)B if (a=b)(正确答案)C if (strcpy(a,b))(正确答案)D if (strcmp(a,b)==0)4、以下C语言字符串处理函数(系统函数)是在string.h的头文件中声明的是()。
*A strlen(正确答案)B strcat(正确答案)C strcpy(正确答案)D strcmp(正确答案)5、回文字符串存储方式一般采用字符数组,则关于字符数组描述正确的是()。
*A 只能存放字符型数据(正确答案)B 数组是定长的,定义后不可改变(正确答案)C 数组元素占有一片连续的存储单元(正确答案)D 数组元素可以存放不同类型的数据6、下面关于数组概念描述说法正确的是( )一维数组的定义的形式始下:类型说明符数组名[常量表达式]。
[多选题]*A 数组名应符合标识符的命名规则,正式应用中第一个字符应为英文。
(正确答案)B 一维数组就是用一个下标定义的数组,可以存同类型也可以存不同类型数据。
C 常量表达式定义了数组元素的个数(正确答案)D 数组下标从0开始(正确答案)7、有以下程序main(){int a[2][4]={1,12,3,4,5,6,7,8};printf("%d",a[1][3]);}则程序的输出结果不可能是()。
武汉软件工程职业学院软件技术专业大二2019数据结构第十一单元

武汉软件工程职业学院软件技术专业大二2019数据结构第十一单元您的姓名: [填空题] *_________________________________1. (专基)下列选项中关于链表是线性表的哪种存储结构正确的是()。
[单选题] *链式结构(正确答案)顺序结构散列结构索引结构2. 数据结构中单链表是含有()个指针域的链表 [单选题] *两三零一(正确答案)3. 在单链表p结点之后插入s结点,正确的操作是() [单选题] *p->next=s; s->next=p->next;s->next= p->next; p->next=s;(正确答案)p->next=s; p->next= s->next;p->next=s; p->next= s->next;4. (专基)单链表中修改第i个元素的时间复杂度是()。
[单选题] *O(1)O(n)(正确答案)O(n*n)都不对5. 单链表中删除p指针指向结点的后继则时间复杂度是(假设存在)() [单选题] *O(n)O(1)(正确答案)O(n*n)都不对6. (专基)线性表L在()情况下适用于使用链式结构实现。
[单选题] *需不断对L进行删除插入(正确答案)需经常修改L中的结点值L中结点结构复杂L中含有大量的结点7. 带头结点的单链表H为空的条件应该是下面描述正确的是( ) [单选题] *next==NULLH==NULLH->next==NULL(正确答案)以上都不对8. (专基)顺序表和链表分别指()。
[单选题] *线性表的顺序存储结构和链式存储结构(正确答案)线性表的顺序存储结构和随机存储结构线性表的顺序存储结构和索引存储结构线性表的顺序存储结构和散列存储结构9. 在一个具有n个结点的单链表中修改一个结点数据域的值,时间复杂度是()[单选题] *O(1)O(n)(正确答案)O(n*n)O(nlog2n)10. 在双向链表的一个结点中有()个指针 [单选题] *2(正确答案)1311. (专基)单链表中删除p指针指向结点的后继(假设存在)的语句序列是[单选题] *p->next=p->next;p->next=p->next->next;(正确答案)p->next=p;p=p->next;12. 单链表的结点包含两部分:( )域和指针域 [单选题] *指针域链域数据域(正确答案)散列域13. 带头结点的单链表head为空的判断条件是() [单选题] * head==NULLhead->next ==NULL(正确答案)head->next ==headhead!=NULL14. 顺序表与链表的区别在于() [单选题] *存储方式不同(正确答案)元素个数不同逻辑关系不一样都不对15. 顺序表与链表的相同点在于() [单选题] *存储方式相同元素个数不同逻辑关系相同(正确答案)都不对16. 不带头结点的单链表head为空的判断条件是() [单选题] * head==NULL(正确答案)head->next ==NULLhead->next ==headhead!=NULL17. 单链表插入的时间复杂度() [单选题] *O(1)(正确答案)O(log2n)O(n)O(n2)18. 删除p结点的后继结点并回收空间,错误的语句序列是() *p->next= p->next->next;(正确答案)p->next= p->next->next free(p);(正确答案)q=p->next p->next= p->next->next; free(q);q=p->next->next; p->next->next= p->next->next; free(q);(正确答案)19. 对于只在表的首、尾两端进行插入操作的线性表,不宜采用的存储结构为()*顺序表(正确答案)有头指针的单向链表(正确答案)有头指针和尾指针的双向链表有头指针的单向循环链表(正确答案)20. 在单链表的开始结点之前附加一个结点,不是() *头指针(正确答案)头结点尾指针(正确答案)尾结点(正确答案)21. 在具有n个结点的单链表中,实现()的操作,其时间复杂度为O(n) *遍历链表(正确答案)找链表的第i个结点(正确答案)在p指针的结点之后插入一个结点删除p指向结点的后继结点22. L是线性表,已知表长度length的值是5,经过一次插入运算后,length的值不是() *4(正确答案)7(正确答案)5(正确答案)623. 有关链式存储的存储结构所占存储空间说法错误的是() *分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针只有一部分,存放结点的值(正确答案)只有一部分,存储表示结点间关系的指针(正确答案)分两部分,一部分存放结点的值,另一部分存放结点所占单元素(正确答案)24. 每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式不是()存储方式 *顺序(正确答案)链式索引(正确答案)散列(正确答案)25. 在单链表中,增加头结点的目的不是() *使单链表至少有一结点(正确答案)标志表中首结点位置(正确答案)方便运算的实现说明单链表是线性表的链式存储实现(正确答案)26. 两个指针P和Q,分别指向单链表的两个元素,P是Q前驱的条件错误的是() *P->next==Q->next(正确答案)Q->next== P(正确答案)P->next== QP== Q(正确答案)27. 在一个单链表中,q是p的前驱,若在q、p之间插入s结点,则不能执行()操作 *s->next=p->next; p->next=s;(正确答案)q->next=s; s->next=p;p->next= s->next; s->next=p;(正确答案)p->next=s; s->next=q;(正确答案)28. 单链表中,p是待删除的结点的前驱结点,则需要执行的操作为:p->next=p->next->next。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉软件工程职业学院软件技术专业大二2019数据结构二测1. 树形结构中元素之间存在一个对多个的关系。
[判断题] *对(正确答案)错2. 先根遍历树正好等同于按___遍历对应的二叉树 [单选题] *A.先根(正确答案)B.中根C.后根D.层次3. 将一棵树转成二叉树,根结点没有左子树。
[判断题] *对错(正确答案)4. 后根遍历树正好等同于按___遍历对应的二叉树。
[单选题] *A.先根B.中根(正确答案)C.后根D.层次5. 赫夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。
[判断题] *对(正确答案)错6. 赫夫曼树的结点个数不能是偶数。
[判断题] *对(正确答案)错答案解析:n个权值构成的赫夫曼树共有2n-1个节点,为奇数7. 树最适合用来表示() [单选题] *A、有序数据元素B、无序数据元素C、元素之间具有分支层次关系的数据(正确答案)D、元素之间无联系的数据8. 下面那个是完全二叉树() *ABC(正确答案)D(正确答案)9. 以下关于树和二叉树的描述,正确的是() [单选题] *各结点的度均为2的树即为二叉树任一遍历序列可唯一确定一棵二叉树任何树都可以转换为唯一的二叉树与之对应(正确答案)树和二叉树都只能用链式存储实现10. 3个结点构成的二叉树,共有()种 [单选题] *345(正确答案)611. 由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。
[单选题] *24487253(正确答案)12. 若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
[判断题] *对(正确答案)错13. 二叉树中每个结点的两棵子树的高度差等于1。
[判断题] *对错(正确答案)14. 二叉树中每个结点有两棵非空子树或有两棵空子树。
[判断题] *对错(正确答案)15. 二叉树中所有结点个数是2k-1-1,其中k是树的深度。
[判断题] *对错(正确答案)16. 二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
[判断题] *对错(正确答案)17. 用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
[判断题] *对(正确答案)错18. 具有12个结点的完全二叉树有5个度为2的结点。
[判断题] *对(正确答案)错19. 二叉树是非线性数据结构,所以()。
[单选题] *A.它不能用顺序存储结构存储B.它不能用链式存储结构存储;C.顺序存储结构和链式存储结构都能存储;(正确答案)D.顺序存储结构和链式存储结构都不能使用20. 18.设T是一棵有n个顶点的树,下列说法不正确的是()。
[单选题] *A.T有n条边(正确答案)B.T是连通的C.T是无环的D.T有n-1条边21. 14.高度为n的均衡的二叉树是指:如果去掉叶结点及相应的树枝,它应该是高度为n-1的满二叉树。
在这里,树高等于叶结点的最大深度,根结点的深度为0,如果某个均衡的二叉树共有2381个结点,则该树的树高为()。
[单选题] *A.10B.11(正确答案)C.12D.1322. 5.如果树根算第1层,那么一棵n层的二叉树最多有()个结点。
[单选题] *A.2n-1(正确答案)B.2nC.2n+1D.2n+123. 14、一个包含n个分支结点(非叶结点)的非空二叉树,它的叶结点数目最多为()。
[单选题] *A.2n+1B.2n-1C.n-1D.n+1(正确答案)24. 7.如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是()。
[单选题] *A.10B.11C.12(正确答案)D.1325. 9.已知一棵二叉树有10个节点,则其中至多有()个节点有2个子节点。
[单选题] *A.4(正确答案)B.5C.6D.726. 5.完全二叉树共有2*N-1个结点,则它的叶节点数是()。
[单选题] *A.N-1B.N(正确答案)C.2*ND.2*N-127. ⒗一棵具有5层的满二叉树中结点数为()。
[单选题] *A.31(正确答案)B.32C.33D.1628. ⒘如果根的高度为1,具有61个结点的完全二叉树的高度为()。
[单选题] *A.5B.6(正确答案)C.7D.829. 19.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右依次存放到一个顺序结构的数组中。
假定根结点存放在数组的1号位置,则第k 号结点的父结点如果存在的话,应当存放在数组的()号位置。
[单选题] *A.2kB.2k+1C.k/2下取整(正确答案)D.(k+1)/2下取整30. 20.已知6个结点的二叉树的先根遍历是123456(数字为结点的编号,以下同),后根遍历是325641,则该二叉树的可能的中根遍历是() [单选题] *A.321465B.321546(正确答案)C.213546D.23146531. 20.已知7个结点的二叉树的先根遍历是1245637(数字为结点的编号,以下同),中根遍历是4265173,则该二叉树的后根遍历是() [单选题] *A.4652731(正确答案)B.4652137C.4231547D.465317232. 13.二叉树T,已知其先根遍历是1243576(数字为结点的编号,以下同),中根遍历是2415736,则该二叉树的后根遍历是()。
[单选题] *A.4257631B.4275631(正确答案)C.7425631D.427653133. 17.一棵二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是()。
[单选题] *A.2(正确答案)B.3C.4D.534. 6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
[单选题] *A.ABCB.CBAC.ACB(正确答案)D.BAC35. 11.二叉树的()第一个访问的节点是根节点。
[单选题] *A.先序遍历(正确答案)B.中序遍历C.后序遍历D.以上都是36. ⒗前序遍历序列与中序遍历序列相同的二叉树为()。
[单选题] *A.根结点无左子树B.根结点无右子树C.只有根结点的二叉树或非叶子结点只有左子树的二叉树D.只有根结点的二叉树或非叶子结点只有右子树的二叉树(正确答案)37. 13、表达式a*(b+c)-d的后缀表达式是: [单选题] *A.abcd*+-B.abc+*d-(正确答案)C.abc*+d-D.-+*abcd38. 9.前缀表达式“+3*2+512”的值是()。
[单选题] *A.23B.25C.37(正确答案)D.6539. 树最适合用来表示() [单选题] *A、有序数据元素B、无序数据元素C、元素之间具有分支层次关系的数据(正确答案)D、元素之间无联系的数据40. 在完全二叉树中,若一个结点是叶结点,则它没()。
[单选题] *A、左子结点B、右子结点C、左子结点和右子结点(正确答案)D、以上说法都不对41. 有三个结点的二叉树有()种形态。
[单选题] *345(正确答案)642. 下面那个是完全二叉树() *ABC(正确答案) D(正确答案)43. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是() [单选题] *A、9B、11(正确答案)C、15D、不确定44. 在一棵二叉树上第5层的结点数最多是多少()个? [单选题] *141516(正确答案)17答案解析:一棵二叉树,如果每个结点都是是满的,那么会满足2^(k-1)1。
所以第5层至多有2^(5-1)=16个结点!45. 深度为6的二叉树最多有()个结点。
[单选题] *6463(正确答案)3231答案解析:见二叉树性质46. 一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为()个? [单选题] *218216219(正确答案)217答案解析:假设n表示二叉树的所有结点数,n0表示度为0的结点(叶子结点),n1表示度为1的结点,n2表示度为2的结点:n=n0+n1+n2,又由二叉树性质:n2=n0-1,将n2带入得总结点数n=70+80+70-1=21947. 一棵具有5层的满二叉树中结点数为()。
[单选题] *A.31(正确答案)B.32C.33D.1648. 如果根的高度为1,具有61个结点的完全二叉树的高度为()。
[单选题] *A.5B.6(正确答案)C.7D.8答案解析:根据二叉树性质,从所给答案中取值计算。
49. 一个具有1025个结点的二叉树的高h为()? [单选题] *二叉树的高度的公式是什么?111011至1025之间(正确答案)10至1024之间答案解析:若该二叉树为完全二叉树,根据二叉树性质或计算某一深度的满二叉树的结点总数,向下取整log2(1025)+1≈log2(1024)+1=log2(2^10)+1=10+1=11;或深度为10的满二叉树有2^10-1=1024-1=1023,1025>1023,所以至少11层。
该二叉树有至少有11层。
层数最多时:每层一个结点,有1025层50. 已知一棵完全二叉树含有1001个结点,那么它有()个度为2的结点。
[单选题] *250500(正确答案)501505答案解析:设二叉树中度为0的叶子结点个数为n0,度为1结点个数为n1,度为2结点个数为n2,于是n0+n1+n2=1001根据二叉树性质:n0=n2+1,代入得到,2n2+1+n1=1001由于完全二叉树的n1只能是0或者1,为满足2n2+1+n1=1001,只有n1=0时上式才能成立,因此n2=500,n0=501。
此题有时也考叶子结点数目。
51. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历是()。
[单选题] *A.acbedB.decabC.deabcD.cedba(正确答案)52. 二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG。
该二叉树根的右子树的根是: [单选题] *A.EB.FC.G(正确答案)D.H答案解析:注意审题,要求二叉树根右子树的根结点,由先序序列可知二叉树的根结点为E,所以在中序序列中E的左子树不需考虑。
53. 表达式a*(b+c)-d的后缀表达式是: [单选题] *A.abcd*+-B.abc+*d-(正确答案)C.abc*+d-D.-+*abcd54. 完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右依次存放到一个顺序结构的数组中。
假定根结点存放在数组的1号位置,则第k号结点的父结点如果存在的话,应当存放在数组的()号位置。