2012级山东工商学院数据结构期中练习题及部分答案

合集下载

数据结构各章习题及答案

数据结构各章习题及答案

数据结构习题及解答第1章 概述【例1-1】分析以下程序段的时间复杂度。

for(i=0;i<n;i++)for(j=0;j<m;j++) A[i][j]=0;解:该程序段的时间复杂度为O (m*n )。

【例1-2】分析以下程序段的时间复杂度。

i=s=0; ①while(s<n){ i++; ②s+=i; ③}解:语句①为赋值语句,其执行次数为1次,所以其时间复杂度为O (1)。

语句②和语句③构成while 循环语句的循环体,它们的执行次数由循环控制条件中s 与n 的值确定。

假定循环重复执行x 次后结束, 则语句②和语句③各重复执行了x 次。

其时间复杂度按线性累加规则为O (x )。

此时s 与n 满足关系式:s ≥n ,而s=1+2+3+…+x 。

所以有:1+2+3+…+x ≥n ,可以推出:x=n n 241212811+±-=+±-x 与n 之间满足x=f(n ),所以循环体的时间复杂度为O (n ),语句①与循环体由线性累加规则得到该程序段的时间复杂度为O (n )。

【例1-3】分析以下程序段的时间复杂度。

i=1; ①while(i<=n) i=2*i; ②解:其中语句①的执行次数是1,设语句②的执行次数为f (n ),则有:n n f ≤)(2。

得:T(n)=O(n2 log)【例1-4】有如下递归函数fact(n),分析其时间复杂度。

fact(int n){ if(n<=1) return(1); ①elsereturn(n*fact(n-1)); ②}解:设fact(n)的运行时间函数是T(n)。

该函数中语句①的运行时间是O(1),语句②的运行时间是T(n-1)+ O(1),其中O(1)为常量运行时间。

由此可得fact(n)的时间复杂度为O(n)。

习题1一、单项选择题1.数据结构是指(1. A )。

A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2.数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为(2. C )。

数据结构综合练习题及答案.doc

数据结构综合练习题及答案.doc

数据结构(一)一、选择题1.组成数据的基本单位是(C )。

(A)数据项(B)数据类型(C)数据元素(D)数据变最2.设数据结构A=(D, R),其中D={1, 2, 3, 4}, R={r}, r={<l, 2>, <2, 3>, <3, 4>, <4, 1>},则数据结构人是(C )o(A)线性结构(B)树型结构(C)图型结构(D)集合3、数组的逻辑结构不同于下列(D )的逻辑结构。

(A)线性表(B)栈(C)队列(D)树4、二叉树中第i (i$l)层上的结点数最多有(C )个。

(A) 2i (B) 21(C) 2i_1(D) 2i-l5、设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(A )。

(A) p->next=p-〉next-〉next (B) p=p->next(C) p二p->next->next (D) p->next=p6、设栈S和队列Q的初始状态为空,元素El、E2、E3、E4、E5和E6依次通过栈S, —个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(C )。

(A) 6 (B) 4 (C) 3 (D) 27、将10阶对称矩阵压缩存储到一维数组A屮,则数组A的长度最少为(C )0(A) 100 (B) 40 (C) 55 (D) 808、设结点A冇3个兄弟结点H.结点B为结点A的双亲结点,则结点B的度数数为(B )。

(A) 3 (B) 4 (0 5 (D) 19、根据二义树的定义可知二义树共有(B )种不同的形态。

(A) 4 (B) 5 (0 6 (D) 710、设有以下四种排序方法,则(B )的空间复杂度最人。

(A)冒泡排序(B)快速排序(C)堆排序(D)希尔排序11、以下说法正确的是(A )A.连通图的牛成树,是该连通图的一个极小连通子图。

数据结构习题(有答案)(精选文档)

数据结构习题(有答案)(精选文档)

数据结构习题(有答案) 第1章绪1。

1 有下列几种二元组表示的数据结构,试画出它们分别对应的图形表示,并指出它们分别属于何种结构。

(1) A= ( D,R ),其中,D = { a1,a2,a3,a4}, R={ }(2) B= ( D,R ),其中,D = { a,b,c,d,e}, R={ (a,b),(b,c),(c,d),(d,e)}(3) C= ( D,R),其中,D = { a,b,c,d,e,f,g}, R={(d,b),(d,g),(1)集合(2) 线性表a b c d e(3)树fgabcde(4)图1453621 / 48·····谢阅。

(b,a),(b,c),(g,e),(e,f)}(4) K= ( D,R ),其中,D= { 1,2,3,4,5,6}, R={〈1,2>,〈2,3>,〈2,4>,<3,4>,<3,5>,<3,6>,<4,5〉,〈4,6〉}1.2设n为正整数,求下列各程序段中的下划线语句的执行次数。

(1) i=1;k=0while(i 〈=n-1){k+=10*i ;i++;(2) for (int i=1;i<=n; i++)for (int j=1; j〈=n; j++){c[i][j]=0;解:(1) n-1(2) ∑∑∑====ninjnkn111312 / 48·····谢阅。

}ﻩ for(intk=1; k〈=n; k++)c[i][j]=c[i][j]+a[i][k]*b[k][j]}(3) x=0;y=0;for (int i=1; i<=n; i++)for (int j=1; j<=i; j++)for (intk=1; k〈=j; k ++)(3)62)1)(nn(n21)(216)12)(1(2121212)1(1112111111++=+•+++•=+=+==∑∑∑∑∑∑∑∑========nnnnniii ijnininiijjkniijni3 / 48·····谢阅。

2011-2012(2)数据库原理期中试卷答案

2011-2012(2)数据库原理期中试卷答案

1-5 BCDCA 6-10答案:CCDAB 11-15 CCAAD 16-20 BDBAD 21-22 CD 1.答案:关系名(属性名1,属性名2,…,属性名n)2.答案:①关系名②属性名③属性类型④属性长度⑤关键字3.答案:①人工管理②文件系统②数据库系统4. 答案:①组织②共享5. 答案:①数据库管理系统②用户③操作系统6. 答案:①数据定义功能②数据操纵功能7. 答案:①逻辑数据独立性②物理数据独立性8. 答案:物理独立性9. 答案:①数据结构②数据操作③完整性约束10. 答案:①数据结构②数据操作11. 答案:①模式②外模式③内模式12. 答案:①1∶1 ②1∶m ②m∶n13. 答案:①浪费存储空间及修改麻烦②潜在的数据不一致性14. 答案:①一个或几个基本表②定义③视图对应的数据15. 答案:①INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)②INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”)③UPDATE R SET NAME=“王华”WHERE NO=10④UPDATE R SET CLASS=“95091”WHERE CLASS=“95101”⑤DELETE FROM R WHERE NO=20⑥DELETE FROMR WHERE NAME LIKE“王%”三.1. 答:(6分)2)工厂(工厂号,工厂名,地址)产品(产品号,产品名,单价)生产(工厂号,产品号,数量,日期)2. 解:本题各个查询语句对应的关系代数表达式表示如下:(15分)(1). ∏C#,CNAME(σTEACHER=‘程军’(C))(2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C))(3). ∏SNAME{s♦ [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]} (2分)(4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) ♦ SC)(5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))(6). ∏C#,CNAME(C♦ (∏S#,C#(sc)÷∏S#(S))) (2分)(7). ∏S#(SC♦ ∏C#(σTEACHER=‘程军’(C)))(8). ∏S#,C#(sc)÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (2分)(9). ∏SNAME{s♦ [∏S#,C#(sc)÷∏C#(C)]}(10). ∏S#,C#(sc)÷∏C#(σS#=’2’(SC)) (2分)(11). ∏S#,SNAME{s♦ [∏S#(SC♦ σCNAME=‘C语言’(C))]}3. (4分)4. 答案:(1)ЛSN (ЛSNO,PNO(SP)÷ЛPNO(P) ♦ ЛSNO,SN(S))(2分)SELECT SNFROM SWHERE NOT EXISTS(SELECT *FROM PWHERE NOT EXISTS(SELECT *FROM SPWHERE SNO=S.SNO AND PNO=P.PNO));(2分)(2)ЛSN(S)-ЛSN(S♦ σPNO=‘P2’(SP) )(2分)SELECT SNFROM SWHERE NOT EXISTS(SELECT *FROM SPWHERE PNO=’P2’AND SNO=S.SNO);(2分)(3)SELECT SNFROM S, SP X, SP YWHERE S.SNO=X.SNO AND X.SNO=Y.SNO AND X.PNO=’P1’AND Y.PNO=’P2’;(2分)(4)CREATE VIEW RLSASSELECT SNO, SNFROM S, SP, PWHERE S.SNO=SP.SNO AND SP.PNO=P.PNO AND S.CITY=’London’AND COLOR=’Red’;(2分)。

数据结构练习1-12章(答案)

数据结构练习1-12章(答案)

数据结构作业一、设n为整数,利用大“O”记号,求下列程序段的时间复杂度1、i=0;k=0;Do{ k=k*10*i; i++;} while (i<n);// T(n)=O(n)2、i=1; j=0;while(i+j<=n){ if(i>j) j++;else i++;}// T(n)=O(n)3、x=n; //n>1while (x>=(y+1)*(y+1))y++;// T(n)=O(n)4、x=91; y=100;while (y>0)if (x>100) {x=x-10; y- -;}else x++;// T(n)=常数=O(1)二、选择题1、从逻辑上可以把数据结构分为( C )两大类。

A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构2、以下数据结构中,哪一个是线性结构( D )?A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串3、在下面的程序段中,对x的赋值语句的频度为( C )for (i=1;i<=n;i++)for (j=1;j<=n;j++)x=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n) 4、下面关于线性表的叙述中,错误的是哪一个?( B )A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。

D.线性表采用链接存储,便于插入和删除操作。

5、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表6、静态链表中指针表示的是( B ).A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址7、下面的叙述不正确的是( B、C )A.线性表在链式存储时,查找第i个元素的时间同i的值成正比B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关8、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( C )(1<=i<=n+1)。

2012山东省数据结构基础考试题库

2012山东省数据结构基础考试题库

1、线性表的链接实现有利于( A )运算。

A)插入 B)读元素C)查找 D)定位2、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。

A)4 B)5C)6 D)73、栈进行插入和删除操作的特点是( A )。

A)LIFO B)FIFOC)FCFS D)HPF4、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。

A)p->next=p->next->next; B) p=p->next;C)p=p->next->next; D) p->next=p;5、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。

A) A, B, C, D, EB) B, C, D, E, AC) E, A, B, C, DD) E, D, C, B, A6、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。

A)top不变 B)top=0 C)top-- D)top++7、下列序列中,执行第一趟快速排序后得到的序列是( A )。

A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]8、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A) 单链表 B) 仅有头指针的单循环链表C) 双链表 D) 仅有尾指针的单循环链表9、下面程序段的时间复杂度是( A )。

s =0;for( i =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j];sum = s ;A) O(n2) B) O(n)C) O(m*n) D)O(1)10、与无向图相关的术语有( C )。

数据结构:期中练习题

数据结构:期中练习题一、选择题1.把长度为m的单链表LB接在长度为n的单链表LA之后的算法的时间复杂度为( )A.O(m) B.O(n) C.O(m+n) D.O(1) 2.在线性表的以下运算中,不改变数据元素之间结构关系的运算是〔〕A.插入 B.删除 C.定位 D.排序3.假设进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,那么可能出现的出栈序列为〔〕A.3,2,6,1,4,5 B.5,6,4,2,3,1 C.1,2,5,3,4,6 D.3,4,2,1,6,54.设串sl=″DataStructureswithJava″,s2=″it″,那么子串定位函数index(s1,s2,1)的值为〔〕A.15 B.16 C.17 D.185.一个顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度为4,那么第4个元素的存储地址是〔〕 A. 108 B. 112 C. 116 D. 1206.有n个节点的顺序表中,算法的时间复杂度是O(1)的操作是( ) A. 访问第i个节点〔1≤i≤n〕B. 在第i个节点后插入一个新节点〔1≤i≤n〕C. 删除第i个节点〔1≤i ≤n〕D. 将n个节点从小到大排序7. 将递归过程转化为非递归过程需用到( )第 1 页共 6 页A.栈 B.队 C.线性表 D.链表8.在一个单链表中,假设p所指的结点不是最后一个结点,在p之后插入s 所指结点,那么执行〔〕A. s->next=p; p->next=sB. p-next=s; s->next=pC. p=s; s->next=p->nextD. s->next=p->next; p->next=s9. 假设栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i 个栈( i =1,2)栈顶,栈1的底在v[1],栈2的底在V[m],那么栈满的条件是〔〕。

数据结构习题(含答案)

第一章绪论一、填空题1.数据是描述客观事物的数、字符以及所有能输入到计算机且能够被计算机程序加工处理的符号集合。

_________是数据的基本单位;___________是数据的最小单位。

通常被计算机加工处理的数据不是孤立无关的,而是彼此之间存在着某种联系,将这种数据间的联系称为________。

2.数据结构进行形式化定义时,可以从逻辑上认为数据结构DS是_________的集合D和D上_________的集合R所构成的二元组:DS=(D,R)。

3.已知某数据结构的二元组形式表示为:A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>}。

则此数据结构属于_____________结构。

4.一个算法的时间复杂度通常用问题规模大小的函数来表示,当一个算法的时间复杂度与问题规模n大小无关时,则表示为__________;成正比关系时,则表示为___________;成对数关系时,则表示为___________;成平方关系时,则表示为__________。

5.数据结构的逻辑结构包括_____________、树型结构和图型结构三种类型,其中树型结构和图型结构合称为_____________;数据结构的存储结构主要包括____________和____________两种类型。

6.线性结构的特点是:第一个结点_______前驱结点,其余结点有且仅有_______个前驱结点;最后一个结点_______后继结点,其余每个结点有且仅有_______个后继结点。

7.树型结构的特点是:根结点没有________结点,其余每个结点有且仅有________个前驱结点;叶子结点_________后继结点,其余结点可以有_________个后继结点。

数据结构期中考试试卷答案(最终定稿)

数据结构期中考试试卷答案(最终定稿)第一篇:数据结构期中考试试卷答案2014-2015学年度第一学期《数据结构》期中考试试卷一、选择题(每题2分,共20分)1.计算机内部数据处理的基本单位是(B)。

A.数据B.数据元素C.数据项D.数据库2.设语句x++的时间是单位时间,则以下语句的时间复杂度为(B)。

for(i=1;i<=n;i++)for(j=i;j<=n;j++)x++;A.O(1)B.O(n)C.O(n)D.O(n)33.在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动(A)个元素。

A.n-i B.n-i+l C.n-i-1 D.i 4.在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行(B)。

A.s->next=p->next;p->next=s B.q->next=s;s->next=p C.p->next=s->next;s->next=p D.p->next=s;s->next=q 5.在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为______。

C A.top 不变B.top=0 C.top--D.top++ 6.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为________。

D A.rear%n= = front B.(front+l)%n= = rear C.rear%n-1= = front D.(rear+l)%n= = front 7.两个字符串相等的条件是(D)。

A.两串的长度相等B.两串的长度相等,并且两串包含的字符相同C.两串包含的字符相同D.两串的长度相等,并且对应位置上的字符相同8.数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为(C)。

数据结构习题及答案合集

第1章绪论练习题答案判断题1. 数据元素是数据的最小单位。

( × )2. 记录是数据处理的最小单位。

(× )3. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。

(× )4.算法的优劣与算法描述语言无关,但与所用计算机有关。

(× )5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。

(√)6.数据的物理结构是指数据在计算机内的实际存储形式。

(√ )7. 数据结构的抽象操作的定义与具体实现有关。

(× )第2章线性表练习题答案一、填空1. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1 个元素。

2. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动n-i 个元素。

3. 在顺序表中访问任意一结点的时间复杂度均为O(1),因此,顺序表也称为随机存取的数据结构。

4. 在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的值指示。

5.对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为O(1),在给定值为x的结点后插入一个新结点的时间复杂度为O(n)。

二、判断正误(×)1. 链表的每个结点中都恰好包含一个指针。

答:错误。

链表中的结点可含多个指针域,分别存放多个指针。

例如,双向链表中的结点可以含有两个指针域,分别存放指向其直接前趋和直接后继结点的指针。

(×)2. 链表的物理存储结构具有同链表一样的顺序。

错,链表的存储结构特点是无序,而链表的示意图有序。

(×)3. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。

错,链表的结点不会移动,只是指针内容改变。

(×)4. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

错,混淆了逻辑结构与物理结构,链表也是线性表!且即使是顺序表,也能存放记录型数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009级《数据结构》期中考试试卷
一、填空题(每题1分,共15分)
1、栈和队列都是线性结构,对于栈只能在__________插入或删除元素;对于队列,只能在__________插入元
素,只能在__________删除元素。
2、若 p是指向链表 L中第i个元素的指针,则 p->next->data 的含义是_________________。
3、由a、b、c三个结点构成的二叉树,共有____种不同的结构。
4、若串的长度小于一个常数,则采用 存储方式最节省空间。
5、一棵二叉树结点数为18个,则其最小高度为____ ,最大高度为____。
6、在具有n个单元顺序存储的循环队列中,队满时共有 个元素。
7、已知数组A[9,9]的每个元素占5个存储单元,将其按优先次序存储在其始地址为1000的连续存储单元
中,则元素A[6,8]的地址为 。
8、后序序列和中序序列相同的二叉树为 。
9、对广义表A=(a,((b),c,d))的运算:head(head(tail (A)))的值是 。
10、根据数据元素之间关系的不同特征可分为_______、___________、___________和集合四类基本数据结构。

二、选择题(每题1分,共15分)
1、设线性表最常用的操作是存取指定序号的元素,则采用 存储结构最节省时间。
A、顺序表 B、单链表 C、双链表 D、带头结点的循环链表
2、从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动____个元素。
A、 n-i B、n-i+1 C、 n-i-1 D i
3、设有三个元素X、Y、Z顺序进栈,在进栈过程中可以出栈,下列出栈顺序中错误的排列是 。
A、XYZ B、YZX C、ZXY D、ZYX
4、在一个链队列中,假定front和real分别为队头和队尾指针,则插入*s结点的操作应执行 。
A、front->next=s; front=s; B、s->next=real; real=s;
C、real->next=s; real=s; D、s->next=front; front=s;
5、线性表采用链式存储时,其地址 。
A、必须是连续的 B、一定是不连续的 C、部分地址必须是连续的 D、连续与否均可以
6、二叉树的第i(i≥1)层上至多有 结点。
A、2i B、2i C、2i-1 D、2i-1
7、线索二叉树中某结点D,没有左孩子的主要条件是 。
A、D->Lchild=Null B、D->ltag=1 C、D->Rchild=Null D、D->ltag=0
8、在具有n个单元的顺序存储的队列中,假定front和rear分别为队首指针和队尾指针,则判定队列为空
的条件是( )。
A、 front=rear+1 B、 front+1=rear C、 front=rear D、 front=0
9、设字符串S1=‘ABCDEFG’,S2=‘PQRST’.则运算S=CONCAT(SUB(S1,2,LENGTH(S2)),SUB(S1,LENGTH
(S2),2))后结果为( )。 A、‘BCQR’ B、’BCDEF‘ C、’CDEFG‘ D、’BCDEFEF‘
10、栈与一般的线性表的区别在于( )。
A、数据元素的类型不同 B、运算是否受限制 C、数据元素的个数不同 D、逻辑结构不同
11、在稀疏矩阵的三元组表表示法中,每个三元组表示( )。
A、矩阵中数据元素的行号、列号和值 B、矩阵中非零元素的值
C、矩阵中非零元素的行号和列号 D、矩阵中非零元素的行号、列号和值
12、在中序线索二叉树中,若某结点有右孩子,则该结点的直接后继是( )。
A、 左子树的最右下结点 B、 右子树的最右下结点
C、 左子树的最左下结点 D、 右子树的最左下结点
13、已知一棵二叉树中序序列和先序序列相反,则该二叉树一定满足
A、左子树为空 B、其中任一结点无左孩子 C、右子树为空 D、其中任一结点无右孩子
14、Huffman树的形态是( )。 A、唯一的 B、不定的 C、不唯一 D、以上说法都不对
15、一棵有124个叶子结点的完全二叉树,最多有( )个结点。
A、247 B、248 C、259 D、251

三、判断题(每题1分,共10分)
1、在顺序表中,逻辑上相邻的两个元素在存储位置上一定相邻。( )
2、满二叉树的叶子结点只能出现在二叉树的最后一层上。 ( )
3、稀疏矩阵压缩存储后,必会失去随机存储功能。 ( )
4、完全二叉树的某个结点若无左孩子,则它必是叶子结点。 ( )
5、若一个广义表的表头为空表,则此广义表亦为空表。 ( )
6、m叉树是出度最小为m的树。 ( )
7、循环队列是链式存储结构。( )
8、数组可以看成是线性结构的一种推广,因此可以对它进行插入、删除等运算。( )
9、由前序序列和中序序列可以唯一确定一棵二叉树。
10、静态链表既有顺序存储的优点,又有动态链表的优点,所以它存取表中第i个元素的时间与i无关。( )
四、简答题(20分)
1、简述算法的五个重要特性。(4分)
2、到目前为止,你学过那些数据结构?各有什么特点?(6分)
3、顺序存储、链式存储和静态链表各自有什么特点?(5分)
4、简述表达式求值的基本思想。(5分)
五、应用题(共20分)
1、已知一棵二叉树的中序序列为DBHEAFICG,先序序列为ABDEHCFIG,请写出该二叉树的后序序列。(6分)
2、假设用于通讯的电文由a,b,c,d,e,f,g,h等8个字母组成,字母在电文中出现的频率分别为0.07,0.19,
0.02,0.06,0.32,0.03,0.21和0.10。试为这些字母设计哈夫蔓编码,并求出带权路径长度。(7分)
3、已知模式串t=‘abcaabbcabcaabdab’,求该模式串的next和nextval的值。(7分)
六、算法题(共20分)
1、已知二叉树采用二叉链表方式存放,请阅读下列算法,写出该算法的功能。(8分)
Void erchshu(BTree *t)
{ BTree *temp;
if (t->lchild!=NULL || t->rchild!=NULL)
{ temp=t->lchild;
t->lchild=t->rchild;
t->rchild=temp;
erchshu(t->lchild);
erchshu(t->rchild);
}
}
2、已知单链表表示的线性表中含有三类字符的数据元素(如:字母字符、数字字符和其他字符),试设计
构造三个以循环链表表示的线性表的算法,并使每个表中只含有同一类字符,且利用原表中的结点空间,头
结点可另辟空间。要求:先定义存储结构,再编写算法。(12分)

一、填空题
1、栈顶 队尾 队头
2、第i+1个结点
3、 5
4、定长顺序存储
5、5, 18
6、n-1
7、1310
8、左单支树或所有结点没有右子树
9、(b)
10、线性、树形、图形
二、选择题
A A C C D C B C D B
D D D C B
三、判断题
对 对 对 对 错 错 错 错 对 错
四、简答题 (答案略)
五、应用题
1、二叉树的后续序列为:DHEBIFGCA
2、字 母 a b c d e f g h
编 码 0110 10 01000 0101 00 01001 11 0111
带权路径长度=2.54
3、已知模式串t=‘abcaabbcabcaabdab’’
字符串 a b c a a b b c a b c a a b b a b
Next 0 1 1 1 2 2 3 1 1 2 3 4 5 6 7 8 2
Nextval 0 1 1 0 2 1 3 1 0 1 1 0 2 1 3 8 1

3、已知模式串t=‘abcaabbcabcaabdab’’
3、已知模式串t=‘abcaabbcabcaabdab’’

相关文档
最新文档