数据结构试题及答案修2
2013年广东省数据结构试题及答案修改二(必备资料)

(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
6、若某线性表中最常用的操作是取第i个元素和找第i个元素的前驱,则采用( )存储方法最节省时间
17、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
18、对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCG
43、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
44、衡量查找算法效率的主要标准是( C )。
A)元素个数 B)所需的存储量
C)平均查找长度 D)算法难易程度
1、若某线性表中最常用的操作是取第i个元素和找第i个元素的前驱,则采用( )存储方法最节省时间
A 顺序表 B单链表 C 双链表 D单循环链表
2、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
32、G是一个非连通无向图,共28条边,则该图至少有( )个顶点
A 6 B 7 C 8 D 9
33、以下说法正确的是 D 。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
45、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。
a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。
2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。
2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。
2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
3. 简答题1) 请简要介绍线性表和非线性表。
答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。
非线性表是指元素之间存在一对多或多对多的关系,如树和图。
2) 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。
空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。
4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。
答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。
《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题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. 编写一个函数,实现链表的插入操作。
数据结构考试试题及答案

数据结构考试试题及答案数据结构考试试题及答案数据结构是计算机科学中非常重要的一门课程,它涉及到了计算机程序设计中的数据组织、存储和管理等方面。
在学习数据结构的过程中,掌握基本的数据结构类型、操作和算法是非常重要的。
为了帮助大家更好地掌握数据结构,下面将提供一些常见的数据结构考试试题及答案。
一、选择题1. 下面哪个不是线性数据结构?A. 数组B. 链表C. 栈D. 队列答案:D. 队列2. 下面哪个数据结构可以实现先进先出(FIFO)的操作?A. 栈B. 队列C. 链表D. 树答案:B. 队列3. 下面哪个数据结构可以实现后进先出(LIFO)的操作?A. 栈B. 队列C. 链表D. 树答案:A. 栈4. 下面哪个数据结构可以实现快速查找和插入操作?A. 数组B. 链表C. 栈D. 队列答案:A. 数组5. 下面哪个数据结构可以实现快速查找和删除操作?A. 数组B. 链表C. 栈D. 队列答案:B. 链表二、填空题1. 请写出数组的插入操作的时间复杂度。
答案:O(n)2. 请写出链表的删除操作的时间复杂度。
答案:O(1)3. 请写出栈的出栈操作的时间复杂度。
答案:O(1)4. 请写出队列的入队操作的时间复杂度。
答案:O(1)5. 请写出二叉搜索树的查找操作的时间复杂度。
答案:O(log n)三、简答题1. 什么是数据结构?答案:数据结构是计算机存储、组织数据的方式,它定义了数据的逻辑结构和存储结构,以及对数据进行操作的算法。
2. 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行时间的度量,它表示算法执行所需的时间与问题规模之间的关系。
空间复杂度是衡量算法所需的存储空间的度量,它表示算法所需的存储空间与问题规模之间的关系。
3. 请解释什么是递归算法,并给出一个例子。
答案:递归算法是一种自己调用自己的算法。
一个经典的例子是计算斐波那契数列的第n项。
代码如下:```int fibonacci(int n) {if (n <= 1) {return n;}return fibonacci(n-1) + fibonacci(n-2);}```以上就是一些常见的数据结构考试试题及答案。
数据结构试题集(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,试画出该二叉树形状,并写出它的后序遍历序列。
数据结构的试题及答案

数据结构的试题及答案一、选择题1. 在数据结构中,线性表的顺序存储方式被称为:A. 栈B. 队列C. 链表D. 数组答案:D2. 以下哪种数据结构是动态数据结构?A. 数组B. 链表C. 栈D. 队列答案:B3. 树的度是树内所有节点的度的最大值,树的深度是树的最长路径上的节点数。
以下哪个选项正确描述了树的度和深度?A. 度是节点的最大值,深度是路径上节点数B. 度是路径上节点数,深度是节点的最大值C. 度是节点的最大值,深度是节点的最大值D. 度是路径上节点数,深度是路径上节点数答案:A二、简答题1. 请简述链表和数组的区别。
答案:链表和数组是两种不同的数据存储方式。
数组是连续的内存空间,可以通过索引快速访问元素,但插入和删除操作可能需要移动大量元素。
链表由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针,链表的插入和删除操作不需要移动其他元素,但访问特定元素需要从头开始遍历。
2. 什么是二叉搜索树?它有哪些特点?答案:二叉搜索树(BST)是一种特殊的二叉树,其中每个节点的值都大于或等于其左子树中的任何节点的值,并且小于或等于其右子树中的任何节点的值。
BST的主要特点是它支持快速的查找、插入和删除操作,时间复杂度为O(log n)。
三、计算题1. 给定一个链表,编写一个算法来删除链表中的重复元素。
答案:以下是删除链表中重复元素的算法步骤:- 遍历链表,使用一个哈希表来记录已经遇到的元素。
- 当遍历到一个新元素时,检查它是否已经在哈希表中。
- 如果已经存在,删除当前节点,并继续遍历。
- 如果不存在,将元素添加到哈希表中,并继续遍历。
- 完成遍历后,链表中的重复元素将被删除。
2. 假设有一个二叉搜索树,编写一个算法来找到树中第k小的元素。
答案:以下是找到二叉搜索树中第k小元素的算法步骤:- 从根节点开始,使用中序遍历(左-根-右)。
- 遍历过程中,记录访问的节点数量。
- 当访问到第k个节点时,该节点即为所求的第k小的元素。
数据结构试题及答案修2

试卷一一、单选题(每题 2 分,共20分)1. 对一个算法的评价,不包括如下()方面的内容。
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,则下列序列中不可能是栈的输出序列的是( )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数二、填空题(每空1分,共28分)1. 数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
2. 队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。
3. 当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0_____________。
4. 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
数据结构与算法单元测试题2及答案

一、单选题1、若串S= 'software',其前缀真子串的数目是()。
A.9B.8C.7D.10正确答案:C2、两个串相等的充要条件是()。
A.两个字符串的长度相等且对应位置上的字符也相等B.两个字符串的长度相等C.两个字符串中对应位置上的字符相等D.两个字符串存储形式相同正确答案:A3、函数strcmp('stcabuc','stbabuc')的返回值是()。
A.1B.-1C.0D.2正确答案:A4、StrIndex (‘DATASTRUCTURE',1,‘STR')= ()。
A.9B.5C.3D.7正确答案:B5、设正文串长度为n,模式串长度为m,则模式匹配的KMP算法的时间复杂度为()。
A.O(n)B.O(m)C.O(m+n)D.O(m*n)正确答案:C6、设S="",则LenStr(S)=()。
A.1B.2C.3D.0正确答案:D7、设目标串T="aabaababaabaa",模式P="abab",朴素匹配算法的外层循环进行了( )次。
A.5B.9C.4D.1正确答案:A8、若串S='SOFT',其子串的数目最多是()。
A.9B.12C.10D.11正确答案:D9、设串S1='ABCDEFG',S2='PQRST' ,则ConcatStr(SubStr(S1,2,LenStr(S2)),SubStr(S1,LenStr(S2),2))的结果串为( )。
A.'BCPQRST'B.'BCDEFEF'C.'BCDEF'D.'BCDEFG'正确答案:B10、某串的长度小于一个常数,则采用()存储方式最节省空间。
A.堆结构B.顺序C.链式D.无法确定正确答案:B11、二维数组A的每个元素都是6个字符组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则如果A按行存放元素A[8][5]的起始地址与A按列存放时元素()的起始地址一致。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷一一、单选题(每题 2 分,共20分)1. 对一个算法的评价,不包括如下()方面的内容。
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,则下列序列中不可能是栈的输出序列的是( )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数二、填空题(每空1分,共28分)1. 数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
2. 队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。
3. 当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0_____________。
4. 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
7. 二叉树是指度为2的____________________树。
一棵结点数为N的二叉树,其所有结点的度的总和是_____________。
8. 对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。
对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。
9. 对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。
10. 若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。
其余类推,则A[ i ]元素的左孩子元素为________,右孩子元素为_______________,双亲元素为____________。
11. 在线性表的散列存储中,处理冲突的常用方法有________________________和_____________________________两种。
三、 运算题(每题6分,共24分)1. 已知一个6⨯5稀疏矩阵如下所示,试:(1) 写出它的三元组线性表;(2) 给出三元组线性表的顺序存储表示。
2. 设有一个输入数据的序列是 { 46, 25, 78, 62, 12, 80 }, 试画出从空树起,逐个输入各个数据而生成的二叉搜索树。
3. 对于图6所示的有向图若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,试写出:从顶点①出发进行深度优先搜索所得到的深度优先生成树;从顶点②出发进行广度优先搜索所得到的广度优先生成树;4. 已知一个图的顶点集V 和边集E 分别为:V={1,2,3,4,5,6,7};E={<2,1>,<3,2>,<3,6>,<4,3>,<4,5>,<4,6>,<5,1>,<5,7>,<6,1>,<6,2>,<6,5>};若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,按主教材中介绍的拓朴排序算法进行排序,试给出得到的拓朴排序的序列。
四、 阅读算法(每题7分,共14分)1. int Prime(int n){ int i=1;int x=(int) sqrt(n);while (++i<=x)if (n%i==0) break;if (i>x) return 1;else return 0; }(1) 指出该算法的功能;(2) 该算法的时间复杂度是多少?2. 写出下述算法的功能:void AJ(adjlist GL, int i, int n){ Queue Q;InitQueue(Q);cout<<i<<' ';visited[i]=true; ⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--007000000520000000100000010000 图6QInsert(Q,i);while(!QueueEmpty(Q)) {int k=QDelete(Q);edgenode* p=GL[k];while(p!=NULL){int j=p->adjvex;if(!visited[j]){ cout<<j<<' ';visited[j]=true;QInsert(Q,j); }p=p->next; }}}HL是单链表的头指针,试写出删除头结点的算法。
ElemType DeleFront(LNode * & HL)参考答案一、单选题(每题2分,共20分)1.B2.A3.B4.C5.D6.B7.D8.A9.D 10.C二、填空题(每空1分,共26分)1. 联系图(或图结构)2. 尾首3. top==04. O(1)O(n)5. 128 44 1086. 3 37. 有序n-1 Array8. 有序序列后缀表达式(或逆波兰式)9. 2n n-1 n+110. 2i+1 2i+2 (i-1)/211. 开放定址法链接法12. 快速归并三、运算题(每题6分,共24分)1. (1)((1,5,1),(3,2,-1),(4,5,-2),(5,1,5),(6,3,7)) (3分)(2)三元组线性表的顺序存储表示如图7示。
2. 如图8所示。
3. DFS :①②③④⑤BFS :②③④⑤①4. 拓朴排序为: 4 3 6 5 7 2 1四、 阅读算法(每题7分,共14分)1. (1) 判断n 是否是素数(或质数)(2)O (n )2. 功能为:从初始点v i 出发广度优先搜索由邻接表GL 所表示的图。
六、 编写算法(8分)ElemType DeleFront(LNode * & HL){if (HL==NULL){cerr<<"空表"<<endl;exit(1);}LNode* p=HL;HL=HL->next;ElemType temp=p->data;delete p;return temp; }试卷十三一、选择题(30分)1.下列程序段的时间复杂度为( )。
for(i=0; i<m ; i++) for(j=0; j<t ; j++) c[i][j]=0;for(i=0; i<m ; i++) for(j=0; j<t ; j++) for(k=0; k<n ; k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n)2.设顺序线性表中有n 个数据元素,则删除表中第i 个元素需要移动( )个元素。
(A) n-i (B) n+l -i (C) n-1-i (D) i3.设F 是由T1、T2和T3三棵树组成的森林,与F 对应的二叉树为B ,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B 的根结点的左子树的结点数为( )。
(A) N1-1(B) N2-1 (C) N2+N3 (D) N1+N3图84.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为()。
(A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(1og2n)5.设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为()。
(A) p->right=s;s->left=p;p->right->left=s;s->right=p->right;(B) s->left=p;s->right=p->right;p->right=s;p->right->left=s;(C) p->right=s;p->right->left=s;s->left=p;s->right=p->right;(D) s->left=p;s->right=p->right;p->right->left=s;p->right=s;7.设输入序列1、2、3、…、n经过栈作用后,输出序列中的第一个元素是n,则输出序列中的第i个输出元素是()。
(A) n-i (B) n-1-i (C) n+l -i (D) 不能确定8.设散列表中有m个存储单元,散列函数H(key)= key % p,则p最好选择()。
(A) 小于等于m的最大奇数(B) 小于等于m的最大素数(C) 小于等于m的最大偶数(D) 小于等于m的最大合数9.设在一棵度数为3的树中,度数为3的结点数有2个,度数为2的结点数有1个,度数为1的结点数有2个,那么度数为0的结点数有()个。
(A) 4 (B) 5 (C) 6 (D) 710.设完全无向图中有n个顶点,则该完全无向图中有()条边。
(A) n(n-1)/2 (B) n(n-1) (C) n(n+1)/2 (D) (n-1)/214.设有向无环图G中的有向边集合E={<1,2>,<2,3>,<3,4>,<1,4>},则下列属于该有向图G的一种拓扑排序序列的是()。
(A) 1,2,3,4 (B) 2,3,4,1 (C) 1,4,2,3 (D) 1,2,4,3二、填空题(30分)1.设指针p指向单链表中结点A,指针s指向被插入的结点X,则在结点A的前面插入结点X 时的操作序列为:1)s->next=___________;2) p->next=s;3) t=p->data;4) p->data=___________;5) s->data=t;2.设某棵完全二叉树中有100个结点,则该二叉树中有______________个叶子结点。