数据结构试卷及答案2套
数据结构考试题及答案

数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。
2. 解释二叉搜索树的基本概念及其优势。
3. 什么是递归?请给出一个简单的递归算法例子。
三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。
2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。
四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。
如果数组为空,返回0。
答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。
- 数组的索引访问速度快,链表需要遍历。
- 数组的大小固定,链表动态可变。
2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。
- 优势:支持快速的查找、插入和删除操作。
3. 递归是函数自己调用自己的过程。
例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。
数据结构十套试卷答案

数据结构试卷(一)参考答案一、选择题(每题2分,共20分)1.A2.D3.D4.C5.C6.D7.D8.C9.D 10.A 二、填空题(每空1分,共26分)1. 正确性 易读性 强壮性 高效率2. O(n)3. 9 3 34. -1 3 4 X * + 2 Y * 3 / -5. 2n n-1 n+16. e 2e7. 有向无回路8. n(n-1)/2 n(n-1)9. (12,40) ( ) (74) (23,55,63) 10.增加111.O(log 2n) O(nlog 2n) 12.归并三、计算题(每题6分,共24分)1. 线性表为:(78,50,40,60,34,90)2. 邻接矩阵:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡0111010101110111010101110邻接表如图11所示:图113. 用克鲁斯卡尔算法得到的最小生成树为: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)204. 见图12图124 4 4 4 4 2 2 25 552 2 8 84 352 83 4四、读算法(每题7分,共14分)1.(1)查询链表的尾结点(2)将第一个结点链接到链表的尾部,作为新的尾结点(3)返回的线性表为(a2,a3,…,a n,a1)2.递归地后序遍历链式存储的二叉树。
五、法填空(每空2分,共8 分)true BST->left BST->right六、编写算法(8分)int CountX(LNode* HL,ElemType x){ int i=0; LNode* p=HL;//i为计数器while(p!=NULL){ if (P->data==x) i++;p=p->next;}//while, 出循环时i中的值即为x结点个数return i;}//CountX数据结构试卷(二)参考答案一、选择题1.D2.B3.C4.A5.A6.C7.B8.C二、填空题1.构造一个好的HASH函数,确定解决冲突的方法2.stack.top++,stack.s[stack.top]=x3.有序4.O(n2),O(nlog2n)5.N0-1,2N0+N16.d/27.(31,38,54,56,75,80,55,63)8.(1,3,4,5,2),(1,3,2,4,5)三、应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储结构略,二叉树略5.E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有一组初始记录关键字序列(K1,K2,…,K n),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K i,右半部分的每个关键字均大于等于K i。
《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)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. 堆6. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。
2. 二叉树的节点最多有______个子节点。
3. 堆是一种特殊的______。
4. 散列表的查找效率取决于______。
5. 图的遍历算法包括______和______。
6. 快速排序算法的平均时间复杂度为______。
7. 哈希表中的冲突解决方法有______和______。
8. 最小树算法包括______和______。
9. 最短路径算法包括______和______。
10. 并查集算法用于解决______问题。
第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。
2. 请简述二叉搜索树的特点。
3. 请简述哈希表的原理。
4. 请简述图的深度优先搜索算法。
5. 请简述最小树算法的原理。
第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。
数据结构试卷及答案

数据结构试卷及答案一、选择题(共30题,每题2分,共60分)1. 数据结构是解决什么问题的基础?A. 数据的存储和组织问题B. 数据的计算和分析问题C. 数据的传输和交换问题D. 数据的加密和解密问题2. 下列哪种数据结构可以实现后进先出(LIFO)的特性?A. 栈B. 队列C. 链表D. 树3. 哪种数据结构可以快速地查找和插入元素?A. 数组B. 链表C. 栈D. 队列4. 在二叉树中,每个节点最多有几个子节点?A. 0B. 1C. 2D. 35. 下列哪种排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 插入排序C. 快速排序D. 选择排序...二、填空题(共10题,每题4分,共40分)1. 数据结构中,关系密切的元素组成的集合称为________。
2. 对一个链表进行插入或删除操作,时间复杂度是________。
3. 在树结构中,没有子节点的节点称为________。
4. 广度优先搜索(BFS)使用的数据结构是________。
5. 在堆排序中,堆的建立时间复杂度是________。
...三、简答题(共5题,每题10分,共50分)1. 请简要解释什么是数组,并说明其在数据结构中的优势和限制。
2. 请解释栈和队列这两种数据结构的特点和应用场景,并给出一个实际的例子。
3. 请解释什么是二叉树,给出一个二叉树的例子,并说明其遍历的方法。
4. 请简要解释图的概念,并说明图的遍历方法。
5. 请解释并比较快速排序和归并排序两种常用的排序算法,包括它们的时间复杂度和空间复杂度。
...答案解析:一、选择题答案:1. A2. A3. B4. C5. C二、填空题答案:1. 集合2. O(1)3. 叶节点4. 队列5. O(n)三、简答题答案:1. 数组是一种连续存储数据的结构,其优势是在已知索引的情况下能快速访问元素,但限制在插入和删除操作上效率较低。
2. 栈是一种后进先出(LIFO)的数据结构,适用于需要倒序处理的场景,如函数调用栈。
数据结构试题集(8套卷子+答案)

《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。
2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。
3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。
4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。
6、三个结点a,b,c组成二叉树,共有种不同的结构。
7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。
8、图的遍历有两种,它们是。
9、堆排序的时间复杂度为。
10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。
二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。
数据结构联考试卷2及答案

9.设某有向图的邻接表中有 n 个表头结点和 m 个表结点,则该图中有( 条有向边 A. m B. m – 1 C. n D. n - 1 )。
)
10.从广义表 LS =((a, b), c, d)中分解出原子 b 的运算是( A. head(tail(LS)) C. head(tail(head(LS))) B. tail(head(LS)) D. tail(tail(head(LS))) )个度为 2 的结点。
第 二 页 共 六 页
试卷 2
4. 假设为循环队列分配的向量空间为 Q[30],若队列的长度和队首指针分别为 15 和 19,则当前队尾指针的值为(备注:队首指针指向队首元素所在的 位置,队尾指针指向队尾元素的下一个位置)。 5. 表达式求解是应用的一个典型例子。 6. 已知一棵完全二叉树共有 865 个结点,则该二叉树中有个叶子结点。 7. 含 n 个顶点的无向连通图中至少含有______条边。 8. 如果待排序列已基本有序, 那么在堆排序和快速排序中选择对待排序 列进行排序较为合适。 9. 对表长为 6000 的索引顺序表进行分块查找,假设每一块的长度均为 15,且 以顺序 查找确定块,则在等概率的假设下 ,其查找成功的平均查找长度 为 。 10. 已知有待排序{54,23,88,45,60,53,24,92,32},请写出第一趟快速 排序的结果。
第 四 页 共 六 页
试卷 2
数据结构联考试卷(2)参考答案
一、单项选择题 (每小题 2 分,共 30 分) 1 C 2 B 3 D 4 C 5 D 6 A 7 D 8 D 9 A 10 C 11 C 12 C 13 C 14 B 15 A
二、填空题(每小题 2 分,共 20 分) 1.数据元素之间的逻辑关系 2.顺序 3.L -> next == L && L -> prior == L 4. 4 5.栈 6.433 7. n - 1 8.堆排序 9. 208.5 10. 32,23,24,45,53,54,60,92,88 三、应用题(共 34 分) 1.(1)(7’) 2.(1)(3’)
数据结构考试试题库含答案解析

数据结构考试试题库含答案解析数据结构习题集含答案⽬录⽬录 (1)选择题 (2)第⼀章绪论 (2)第⼆章线性表 (4)第三章栈和队列 (6)第四章串 (7)第五章数组和⼴义表 (8)第六章树和⼆叉树 (8)第七章图 (11)第⼋章查找 (13)第九章排序 (14)简答题 (19)第⼀章绪论 (19)第⼆章线性表 (24)第三章栈和队列 (26)第四章串 (28)第五章数组和⼴义表 (29)第六章树和⼆叉树 (31)第七章图 (36)第⼋章查找 (38)第九章排序 (39)编程题 (41)第⼀章绪论 (41)第⼆章线性表 (41)第三章栈和队列 (52)第四章串 (52)第五章数组和⼴义表 (52)第六章树和⼆叉树 (52)第七章图 (52)第⼋章查找 (52)第⼀章绪论1.数据结构这门学科是针对什么问题⽽产⽣的?(A )A、针对⾮数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与⾮数值计算的问题都针对D、两者都不针对2.数据结构这门学科的研究内容下⾯选项最准确的是(D )A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3.某班级的学⽣成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下⾯关于数据对象、数据元素、数据项描述正确的是(C )A、某班级的学⽣成绩表是数据元素,90分是数据项B、某班级的学⽣成绩表是数据对象,90分是数据元素C、某班级的学⽣成绩表是数据对象,90分是数据项D、某班级的学⽣成绩表是数据元素,90分是数据元素4.*数据结构是指(A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5.数据在计算机存储器内表⽰时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6.算法分析的⽬的是(C )A、找出数据的合理性B、研究算法中的输⼊和输出关系C、分析算法效率以求改进D、分析算法的易懂性和⽂档型性7.算法分析的主要⽅法(A )。
数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构试卷1一、单项选择题:(每小题2分,共20分)1. 在一个长度为n的顺序表中顺序搜索一个值为x的元素时,在等概率的情况下,搜索成功时的数据平均比较次数为________。
A. nB. n/2C.(n+1)/2D.(n-1)/22. 不带头结点的单链表first为空的判定条件是_________。
A. first->next == NULL;B. first == NULL;C. first->next == first;D. first != NULL;3. 栈的插入和删除操作在__________进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置4. 假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为__________。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL5. 设有一个广义表A ( (x, (a, b) ), (x, (a, b), y) ),运算Head (Head (Tail (A) ) ) 的执行结果为________。
A.y B.(a, b) C.(x,(a, b)) D.x6. 在一棵具有n个结点的二叉树中,所有结点的空子树个数等于_________。
A. nB. n-1C. n+1D. 2*n7. 利用n个值作为叶结点的权重,生成的霍夫曼树中共包含有_________个结点。
A. nB. n+1C. 2*nD. 2*n-18. 设无向图的顶点个数为n,则该图最多有________条边。
A. n-1B. n(n-1)/2C. n(n+1)/2D. n(n-1)9. 任何一个无向连通图的最小生成树_________。
A.只有一棵 B. 一棵或多棵C. 一定有多棵D. 可能不存在10. 从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为_______排序法。
A.选择 B.二路归并 C.交换 D.插入二、填空题(每空1分,共20分)1. 数据结构是一门研究非数值计算的程序设计问题中计算机的____________以及它们之间的___________和运算等的学科。
2. 顺序表中逻辑上相邻的元素的物理位置________相邻。
单链表中逻辑上相邻的元素的物理位置__________相邻。
3. 在单链表中,除了首元结点外,任一结点的存储位置由___________________ 指示。
4. ________ 是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
5. 设有二维数组A[0..19,0..10],其每个元素占两个字节,第一个元素的存储地址为1000,若按行优先顺序存储,则元素A[4,6]的存储地址为________ ,按列优顺序存储,元素A[4,6]的存储地址为__________ 。
6. 按照二叉树的定义,有3个结点的二叉树有________种形态。
7. 具有n(n>0)个结点的完全二叉树的深度为__________。
8. 含有n 个顶点e 条边的无向连通图,利用Kruskal 算法生成最小代价生成树其时间复杂度为__________,利用Prim 算法生成最小代价生成树时间复杂度为__________。
9. 从有序表(12,18,30,43,56,78,82,95)中折半查找元素56时,其查找长度为________。
10. 快速排序在平均情况下的时间复杂度为___________,在最坏情况下的时间复杂度为____________。
三、应用题(每小题5分,共30分)1. 输入下列整数序列,17,31,13,11,20,35,25,8,4,11,24,40,27,画出建立的二叉排序树,最后分别图示将9插入,86删除后的二叉排序树。
2. 已知二叉树T 的中序遍历序列为DIGJLKBAECHF ,后序遍历序列为ILKJGDBEHFCA, 请画出该二叉树,并写出先序序列。
3. 对于如图1所示的有向图,试给出(1)每个顶点的入度和出度;(2)邻接矩阵; (3)邻接表;4. 试对图2所示的AOE 网络,解答下列问题。
(1) 求每个事件的最早开始时间Ve (i )和最迟开始时间Vl(i)。
(2) 求每个活动的最早开始时间e( )和最迟开始时间l( )。
(3) 确定哪些活动是关键活动。
画出由所有关键活动构成的图,指出哪些活动加速可使整个工程提前完成。
5. 字符a ,b,c,d,e,f,g 的使用频度分别是0.07,0.09,0.12,0.22,0.20,0.27,0.03,写出a,b,c,d,e,f,g 的Huffman 编码(在构造哈夫曼树时,要求左子树根结点的权值小于等于右子树根结点的权值)。
6. 设哈希函数H(K)=k%13,给定键值序列为87,25,31,8,27,13,68,95,18,12,70,63, 47,处理冲突的方法为线性探测再散列,试在0~18的散列地址空间中对该关键字序列构造哈希表,并计算该表的成功查找的平均查找长度。
1 5 62 43 图1 图2四、算法设计题(每小题10分,共30分)1.已知单链表L 中的元素有序,写一算法,删除其重复结点,即实现如图3的操作。
(a)为删除前,(b)为删除后。
2. 编写递归算法,求二叉树中以元素值为x 的结点为根的子树的深度。
3. 编写一个双向起泡的排序算法,即相邻两遍向相反方向起泡。
图3 删除重复结点(a) H (b)数据结构试卷2一、单项选择题(从下列各题四个备选答案中选出一个正确答案,每小题2分,共20分)1.算法分析的两个主要方面是()A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性2.在以下的叙述种正确的是 ( )A.线性表的顺序存储结构优于链式存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是后进先出3. 循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是 front和 rear,则当前队列中的元素个数是()A. ( rear-front+m)%mB. rear-front+1C. rear-front-1D. rear-front4. 带头结点的单链表head为空的判定条件是 ( )A. head==NULLB.head->next==NULLC. head->next==headD.head!=NULL5.在双循环链表的p指针所指结点之后插入s指针所指结点的操作是()。
A.p->next=s; s->priou=p; p->next->priou=s; s->next=p->nextB.p->next=s; p->next->priou=s; s->priou=p; s->next=p->nextC.s->priou=p;s->next=p->next;p->next=s; p->next->priou=s;D.s->priou=p;s->next=p->next;p->next->priou=s; p->next=s;6.稀疏矩阵一般的压缩存储方法有两种,即()A. 二维数组和三维数组表B. 三元组和散列C. 三元组表和十字链表D.散列和十字链表7.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为();Head(Tail(Head(Tail(Tail(A)))))A.(g) B.(d) C.c D.d8.有分别带权为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为()A. 23B.37C.44D.469.有拓扑序列的图一定是()。
A.有环图B.无向图C.强连通图D.有向无环图10.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行( )元素间的比较。
A.4次 B.5次 C. 7次 D.10次二、填空(每空1分,共20分)1.长度为n的顺序表,插入和删除元素的时间复杂性为__________;顺序存储的栈和队列,插入和删除元素的时间复杂性为__________。
2.非空单循环链表L中,指针p所指结点是尾结点的条件是__________________。
3.在一个单链表中p所指结点之后插入一个由指针s所指结点,应执行s->next=________;和p->next=_____________的操作。
4.有n个结点的树,则该树中所有结点的度之和为____________。
5.设有二维数组A[0..9,0..19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[4,6]的存储地址为________ ,按列优顺序存储,元素A[4,6]的存储地址为__________ 。
6.试找出满足下面条件的所有二叉树:前序序列和中序序列相同____________________;中序序列和后序序列相同_________________。
7.二叉树以二叉链表为存储结构,在有n(n>0)个结点的二叉树中,空链域的个数为_____________。
8.假定一棵二叉树的结点数为18,则它的最小高度为_______,最大高度为__________。
9.一个连通图的生成树是一个_______连通子图,n个顶点的生成树有_______条边。
10.具有n个顶点的无向完全图,边的总数为_______条;而在n个顶点的有向完全图中,边的总数为_______条。
11.设s=’IAMASTUDENT’,t=’GOOD’,q=’WORKER’; 函数SubString(s,5,7)的值为____________;函数Index(s,t) 的值为________;函数Replace(s,’STUDENT’,q)的值为______________。
三、回答下列问题(1—4题每题5分,5题10分,共30分)1.已知一棵二叉树的前序遍历的结果是ABECDFGHIJ, 中序遍历的结果是EBCDAFHIGJ, 试画出这棵二叉树。
2.假设字符a,b,c,d,e,f的使用频度分别是0.07,0.09,0.12,0.22,0.23,0.27,构造哈夫曼3.对如图1,用prim算法构造一棵最小生成树,写出构造过程。
4.设哈希函数为H(k)=k MOD 13 ,用线性探测法解决冲突,请画出在0—12的哈希空间中,对于关键字序列32,17,10,73,45,89,92,36,80,27,19,58构造哈希表,并计算在等概率情况下的平均查找长度。