数据结构自测题
数据结构自测题及答案

数据结构自测题及答案**数据结构自测题及答案**一、选择题(每题2分,共10分)1. 数据结构是一种用于组织和管理数据的方式,它主要关注的是:A. 数据的存储和表示方式B. 数据的输入和输出方式C. 算法和数据的交互方式D. 数据处理的速度和效率2. 在数据结构中,数组是一种:A. 线性结构B. 树形结构C. 图形结构D. 集合结构3. 下列哪种数据结构是先进先出(FIFO)的:A. 栈B. 队列C. 链表D. 哈希表4. 在二叉树中,每个节点最多有几个子节点:A. 0B. 1C. 2D. 35. 下列哪种数据结构适合用于实现图的存储:A. 数组B. 链表C. 堆D. 散列表二、填空题(每题2分,共10分)1. 在栈中,最后一个进入栈的元素最先出栈,这种特点叫做**后进先出**。
2. 哈希表一般是通过**散列函数**将键映射到存储位置上。
3. 图中节点之间的关系可以用**边**来表示。
4. 在二叉搜索树中,左子树的值都小于根节点的值,右子树的值都大于根节点的值,这种特点叫做**二叉搜索树的性质**。
5. 在链表中,每个节点都包含一个指向下一个节点的**指针**。
三、判断题(每题2分,共10分)1. 队列是一种先进先出(FIFO)的数据结构。
(正确)2. 图是一种非线性的数据结构。
(正确)3. 二叉树是一种树形数据结构,每个节点最多有两个子节点。
(正确)4. 栈可以用数组和链表两种方式实现。
(正确)5. 哈希表的插入和查询操作的时间复杂度都为O(1)。
(错误)四、程序设计题(总分20分)请编写一个程序,实现以下功能:1. 定义一个结构体,用于表示学生信息,包含姓名、年龄和成绩三个字段。
2. 动态创建一个长度为5的数组,用于存储学生信息。
3. 通过键盘输入,依次为每个学生的姓名、年龄和成绩赋值,并存储到数组中。
4. 分别计算学生的平均年龄和平均成绩,并输出结果。
代码示例(C语言):```c#include<stdio.h>#include<stdlib.h>struct Student {char name[20];int age;float score;};int main() {struct Student* students = (struct Student*)malloc(5 * sizeof(struct Student));for (int i = 0; i < 5; i++) {printf("请输入第 %d 个学生的姓名:", i + 1);scanf("%s", students[i].name);printf("请输入第 %d 个学生的年龄:", i + 1);scanf("%d", &students[i].age);printf("请输入第 %d 个学生的成绩:", i + 1);scanf("%f", &students[i].score);printf("\n");}int totalAge = 0;float totalScore = 0.0;for (int i = 0; i < 5; i++) {totalAge += students[i].age;totalScore += students[i].score;}float avgAge = totalAge / 5.0;float avgScore = totalScore / 5.0;printf("平均年龄: %.2f\n", avgAge);printf("平均成绩: %.2f\n", avgScore);free(students);return 0;}```以上就是自测题及答案的全部内容。
数据结构试卷试卷及答案5套

数据结构试卷试1一、解释下列术语(每小题4分,共20分)1. 头指针2. 二叉排序树的定义3. 头结点4. 数据的逻辑结构5. 排序方法的稳定性二、选择填空(每小题2分,共20分)(在每小题的4 个备选答案中,选出一个正确的答案,多选少选均不得分)1. 在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时顺向后移动( ) 个元素A.n-iB. n-i+1C. n-i-1D.i2. 某个栈的输入序列为1,2,3,4,下面的四个序列中( )不可能是它的输出序列A.1,2,3,4B.2,3,4,1C. 4,3,2,1D.3,4, 1,23. 对二叉排序进行( )遍历可以得到结点的排序序列A.前序B.中序C. 后序D.按层次4.有64个结点的完全二叉树的深度为()。
A 8B 7C 6D 55.折半查找法的时间复杂度是( )A.(n2)B.O(n)C. O(n㏒n)D. O(㏒n)6.A(1:5,1:6)的每个元素占5个单元,将其按行优先次序储存在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为()。
A 1140B 1145C 1120D 11257. 有n个叶子结点的哈夫曼树的结点总数为()。
A 不确定B 2nC 2n+1D 2n-18. 已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac, 则它的前遍历序列是()。
A acbedB decabC deabcD cedba9.若循环队列用数组A(0:m-1)存放其元素值,已知其头、尾指针分别是f和r,则当前队列中的元素个数是()。
A (r-f+m)mod mB r-f+1C r-f-1D r-f10. 一个二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树(树中结点个数大于1)。
A 空或只有一个结点B 高度等于其结点数C 任一结点无左孩子 D任一结点无右孩子三,判断题(每小题2分,对的打√,错的打×,共10分)1.若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G的顶点数)。
数据结构自测题及答案

第一章概论自测题答案一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。
3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。
10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。
11. 一个算法的效率可分为时间效率和空间效率。
二、单项选择题(B)1. 非线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系(C )2. 数据结构中,与所使用的计算机无关的是数据的结构;A)存储B)物理C)逻辑D)物理和存储(C)3. 算法分析的目的是:A)找出数据结构的合理性B)研究算法中的输入和输出的关系C) 分析算法的效率以求改进D)分析算法的易懂性和文档性(A)4. 算法分析的两个主要方面是:A)空间复杂性和时间复杂性B)正确性和简明性C)可读性和文档性 D)数据复杂性和程序复杂性(C )5. 计算机算法指的是:A)计算方法 B) 排序方法 C)解决问题的有限运算序列 D)调度方法(B )6. 计算机算法必须具备输入、输出和等5个特性。
数据结构自测题答案

单选题
1.在深度为5的满二叉树中,叶子节点个数为?( C )
A:32 B: 31 C: 16 D:15
2.如果进栈序列为:e1,e2,e3,e4则出栈序列正确的是?(B )
A: e3,e1,e4,e2
B: e2,e4,e3,e1
C: e3,e4,e1,e2
D: 任意序列
3.数据的__C___包括集合结构、线性结构、树结构和图状结构四个基本类型。
A:算法描述
B:基本运算
C:逻辑结构
D:存储结构
4.数据的存储结构包括:顺序、___D__、索引和散列四个基本类型。
A:向量
B:数组
C:集合
D:链式
5.假设一个栈的输入顺序为:A,B,C,D,E则下列不可能是栈的输出序列的是?(b)
A:BCDAE
B: EDACB
C: BCADE
D: AEDCB
6.线性表的二分法查询的前提条件是?(A)
A:线性表以顺序方式存储,并且按关键码值排好序
B: 线性表以链式方式存储,并且按关键码值排好序
C: 线性表以顺序方式存储, 并且按关键码的检索频率排好序
D: 线性表以链式方式存储, 并且按关键码的检索频率排好序
7.以下四种排序方法,需要附加内存空间最大的是?(D)
A:插入排序
B: 选择排序
C: 快速排序
D: 归并排序
8.在顺序栈中进行退栈操作时,___D___。
A;谁先谁后都可以
B:先移动栈顶指针,后取出元素
C:不分先后,同时进行
D:先取出元素,后移动栈顶指针
填空题
9.稳定的排序方法有:插入派讯、冒泡排序和归并排序。
10.线性链表属于数据结构中的_____存储___结构。
数据结构自测题答案

第1章绪论二、填空题1. 4种基本结构是:集合、线性结构、树形结构、图状结构。
2. 树形结构中元素的关系是一对多,图形结构中元素的关系是多对多。
3. 顺序存储结构中数据元素的存储位置与其逻辑顺序是对应的。
4. 算法效率的度量方法有:事后统计方法和事前分析估算方法。
5. 好算法应达到的目标:正确性、可读性、健壮性、执行时间短、存储量低。
6. 抽象数据类型可细分为3种:原子类型、固定聚合类型和可变聚合类型。
7. 抽象数据类型的定义包括:数据对象的定义、数据关系的定义、基本操作的定义。
三、判断题五、应用题1. 按增长率从小到大的顺序排列下列各函数:(2/3)n ,nlog,n ,n2 ,n!22. 写出以下各函数的功能,并求出其时间复杂度。
(1) 功能是判断n是否为素数,时间复杂度为O(√n ) 。
(2) 功能是计算1!+2!+…+n! ,时间复杂度为O(n ) 。
(3) 功能是计算1!+2!+…+n! ,时间复杂度为O(n2 ) 。
六、算法题1. 编写算法计算1!+2!+…+n!,并使算法的时间复杂度为O(n)。
算法思想:用循环实现阶乘的累加求和,注意在求n!时,使用前一次循环中已经求出的(n-1)!的结果。
double factorial(int n){ int i;double p=1, sum=0;for( i=1; i<=n; i++){ p=p*i;sum=sum+p;}return(sum);}2. 编写算法计算2i (i=0,1,2,…,n),并将计算结果存入数组a中,设计算机中允许的最大整数值为MAXINT,则当2k >MAXINT(0≤k≤n)时,应进行出错处理。
算法思想:先判断n的取值是否合法,若非法则直接退出程序,若n 合法则继续计算2i,在计算2i时,需要判断2i的值是否大于MAXINT/2,这个条件其实就是判断2i+1的值是否大于MAXINT#define arrsize 100#define MAXINT 65535void calculate(int a[ ], int n){ int i;if(n<=0 || n>arrsize){ printf("n error!\n");exit(-1);}a[0]=1;printf("a[0]=%d\n", a[0]);for(i=1; i<n; i++){ a[i]=a[i-1]*2;printf("a[%d]=%d\n", i, a[i]);if( a[i]>MAXINT/2 ){ printf(“i=%d, ERROR!\n”, i+1);break;}}}第2章线性结构一、选择题二、填空题1. 需向后移动__n-i+1____个元素。
数据结构自测题及解答

一、概念题(每空0.5分,共28分)1.树(及一切树形结构)是一种“________”结构。
在树上,________结点没有直接前趋。
对树上任一结点X来说,X是它的任一子树的根结点惟一的________。
2.由3个结点所构成的二叉树有种形态。
3.一棵深度为6的满二叉树有个分支结点和个叶子。
4.一棵具有257个结点的完全二叉树,它的深度为。
5.二叉树第i(i>=1)层上至多有______个结点;深度为k(k>=1)的二叉树至多有______个结点。
6.对任何二叉树,若度为2的节点数为n2,则叶子数n0=______。
7.满二叉树上各层的节点数已达到了二叉树可以容纳的______。
满二叉树也是______二叉树,但反之不然。
8.设一棵完全二叉树有700个结点,则共有个叶子结点。
9.设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
10.一棵含有n个结点的k叉树,可能达到的最大深度为,最小深度为。
11.二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。
因而二叉树的遍历次序有六种。
最常用的是三种:前序法(即按N L R次序),后序法(即按次序)和中序法(也称对称序法,即按L N R次序)。
这三种方法相互之间有关联。
若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是。
12.中序遍历的递归算法平均空间复杂度为。
13.二叉树通常有______存储结构和______存储结构两类存储结构。
14.如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i(1<=i<=n)的结点X有:(1)若i=1,则结点X是______;若i〉1,则X的双亲PARENT(X)的编号为______。
(2)若2i>n,则结点X无______且无______;否则,X的左孩子LCHILD(X)的编号为______。
数据结构自测题

数据结构自测题1、算法的计算量的大小称为计算的()。
A. 效率B. 复杂性C. 现实性D. 难度2、一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C.3、下面说法错误的是()(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B. (1), (2) C. (1), (4) D. (3)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. 可读性好线性表1、线性表是具有n个()的有限序列(n>0)。
A.表元素B.字符C.数据元素D.数据项2、若线性表最常用的操作是存取第I个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。
A.单链表B.双向链表C.单循环链表D.顺序表3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A. 单链表B. 仅有头指针的单循环链表C. 双链表D. 仅有尾指针的单循环链表4、设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。
数据结构第一章自测题及答案

《数据结构》课程第一章小测验一、判断题:(每题2分,共4分)1、数据元素是数据的最小单位。
F2、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
F链表的存储中结点之间可以是连续的,也可以是不连续的。
但结点内部是连续的。
答题区二、选择题:(每题2分,共16分)1、线性表是具有n个()的有限序列。
C(A)表元素(B)字符(C)数据元素(D)数据项2、如果数据结构中每个结点都有一个前驱,则该结构属于()。
A(A)图状结构(B)树形结构(C)循环结构(D)线性结构3、如果数据结构中每个结点都没有后继,则该结构属于()。
D(A)独立结构(B)散列结构(C)树形结构(D)非线性结构4、算法的时间复杂度与()有关。
A(A)问题规模(B)计算机硬件性能(C)编译程序质量(D)程序设计语言5、算法的执行时间一般与()无关。
D(A)问题规模的大小(B)计算机的档次(C)程序设计语言的种类或版本(D)算法设计者的水平6、算法分析的主要任务是分析()。
D(A)算法是否具有较好的可读性(B)算法中是否存在语法错误(C)算法的功能是否符合设计要求(D)算法的执行时间和问题规模之间的关系7、某算法的时间复杂度为O(2n),表明该算法的()。
C(A)问题规模是2n(B)执行时间等于2n(C)执行时间与2n成正比(D)问题规模与2n成正比8、在决定选取何种存储结构时,一般不考虑()。
A(A)各结点的值如何(B)结点数目的多少(C)对数据有哪些运算(D)所用编程语言实现这种结构是否方便三、填空题:(每空2分,共14分)1、数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。
2、一个算法的效率可分为时间效率和空间效率。
3、线性表是具有n个数据元素有限序列。
四、简答题:(每题10分,共20分)1.数据结构和数据类型两个概念之间有区别吗?答:简单地说,数据结构定义了一组按某些关系结合在一起的数据元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科题单项选择题(每题2分,共30分)(注意:在本试题上直接答题无效,请将试题答案写在后面的答题纸上。
)1.算法的时间复杂度取决于()A.问题的规模 B. 待处理数据的初态 C. A和B2. 线性表采用链式地址时,其地址()A. 必须是连续的B. 一定是不连续的C. 部分地址必须是连续的D. 连续与否均可以3. 链表不具有的特点是()A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比4.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?()A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 4 1 5 65. 最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。
A. (rear+1) MOD n=frontB. rear=frontC.rear+1=front D. (rear-l) MOD n=front6. 串是一种特殊的线性表,其特殊性体现在()A. 可以顺序存储B. 数组元素是一个字符C. 可以连续存储D. 数据元素可以是多个字符7. 设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1..n(n+1)/2]中,对上述任一元素aij(1≤i,j≤n,且i≤j)在B中的位置为( )。
A. i(i-l)/2+jB. j(j-l)/2+iC. j(j-l)/2+i-1D. i(i-l)/2+j-18. 已知广义表: A=(a,b), B=(A,A), C=(a,(b,A),B), 求下列运算的结果:tail(head(tail(C))) =( )。
A.(a)B. AC. aD. (b)E. bF. (A)9. 已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是()。
A.acbed B.decab C.deabc D.cedba10. 一棵具有n个结点的完全二叉树的树高度(深度)是()A.⎣logn⎦+1 B.logn+1 C.⎣logn⎦D.logn-111. 哈希查找中k个关键字具有同一哈希值,若用线性探测法将这k个关键字对应的记录存入哈希表中,至少要进行( )次探测。
A.k B. k+1 C. k(k+1)/2 D.1+k(k+1)/212. 要连通具有n个顶点的有向图,至少需要()条边。
A.n-l B.n C.n+l D.2n13. 用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。
A.逆拓扑有序B.拓扑有序C.无序的14. 具有12个关键字的有序表,折半查找的平均查找长度()A. 3.1B. 4C. 2.5D. 515. 二叉查找树的查找效率与二叉树的树型有关, 在( )时其查找效率最低。
A. 结点太多B. 完全二叉树C. 呈单枝树D. 结点太复杂。
判断题(正确打√,错误打×,每题1分,共10分)(注意:在本试题上直接答题无效,请将试题答案写在后面的答题纸上。
)1.算法的优劣与算法描述语言无关,但与所用计算机有关。
( )2. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( )3. 栈和队列都是限制存取点的线性结构。
()4. 稀疏矩阵压缩存储后,必会失去随机存取功能。
()5. 一棵有n个结点的二叉树,从上到下,从左到右用自然数依次给予编号,则编号为i的结点的左儿子的编号为2i(2i< n),右儿子是2i+1(2i+1<n)。
()6. 在图G的最小生成树G1中,可能会有某条边的权值超过未选边的权值.()7.对无序表用二分法查找比顺序查找快()8. 快速排序总比简单排序快。
()9. 在查找树(二叉树排序树)中插入一个新结点,总是插入到叶结点下面。
( )10. 在AOE图中,关键路径上某个活动的时间缩短,整个工程的时间也就必定缩短。
()三、阅读下列程序,说明完成的功能(共10分,每题5分) (注意:在本试题上直接答题无效,请将试题答案写在后面的答题纸上。
)1. void exam1(SeqStack S, int m){ SeqStack T; int i;IniStack(T);while(!Stackempty (S))if ((i=pop(S))!=m) push(T,i);while (!Stackempty(T)){ i=pop(T); push(S,i); }} //exam1LinkList exam2(LikeList l){ //L是无头结点的的单链表ListNode *P,*Q;if (L && L->next){ Q=L; L=L->next; P=L;while ( P->next ) P=P->next;P->next=Q; Q->next=NULL;}//ifreturn L;}//exam2四、简答题(共22分) (注意:在本试题上直接答题无效,请将试题答案写在后面的答题纸上。
)1. 已知模式串pat=’ADABBADADA’,写出该模式串的next函数值;(4分)2. 试叙述一维数组与有序表的异同。
(3分)3. 将下列树转换成为二叉树(只要求给出转换结果)(4分)4. 给定权值2,3,4,6,8,10,12,构造相应的哈夫曼树,并计算其带权路径长度。
(4分)5. 有一随机数组(25,84,21,46,13,27,68,35,20),现采用某种方法对它们进行排序,其每趟排序结果如下, 则该排序方法是什么排序方法? (3分)初始:25,84,21,46,13,27,68,35,20第一趟:20,13,21,25,46,27,68,35,84第二趟:13,20,21,25,35,27,46,68,84第三趟:13,20,21,25,27,35,46,68,846.已知某图的邻接表存储结构如下图所示:(4分)1). 写出从1号顶点出发的深度优先访问顺序;2). 画出深度优先生成树;五、算法设计题(共28分)1. 编写算法实现对给定的二叉树是否为二叉排序树的判别。
设二叉树以二叉链表存储表示。
(要求写出二叉链表的类型定义)。
(10分)2.设一图G以邻接表作为存储结构,请写出广度优先遍历图G的算法。
(10分)3.请写出直接选择排序的算法,并分析算法的时间复杂度和空间复杂度。
是否稳定的排序?如果是不稳定的,试举出一例。
(8分)专科题一、选择题(每小题2分,共20分)1. 以下四类基本的逻辑结构反映了四类基本的数据组织形式,解释错误的是( )A、集合中任何两个结点之间都有逻辑关系但组织形式松散B、线性结构中结点按逻辑关系依次排列形成一条"锁链"C、树形结构具有分支、层次特性,其形态有点像自然界中的树D、图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接2. 若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )A、顺序存储结构B、链式存储结构C、索引存储结构D、散列存储结构3. 在长度为n的顺序表的第i (1≤i≤n+1)个位置上插入一个元素,元素的移动次数为( )A、n-i+1B、n-iC、iD、i-14. 对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )A、顺序表B、用头指针表示的单循环链表C、用尾指针表示的单循环链表D、单链表5. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()A、e d c b aB、d e c b aC、d c e a bD、a b c d e6. 已知图1如右所示,若从顶点A出发按深度优先搜索进行遍历,则可能得到的顶点序列为()A、A,B,E,C,D,FB、A,C,F,E,B,DC、A,E,B,C,F,DD、A,E,D,F,C,B7. n个顶点的有向图中含有向边的数目最多为( )A、n-1B、nC、n(n-1)/2D、8. 若一个栈的输入顺序是1,2,…,n,输出序列的第一个元素是n,则第i(1≤i≤n)A、n-iB、n-i-1C、i+1D、n-i+19. 已给图2,()是该图的正确的拓扑排序序列A、1,2,3,4,5B、1,3,2,4,5C、1,2,4,3,5D、1,2,3,5,410. 为查找某一特定单词在文本中出现的位置,可应用的串运算是( )A、插入B、删除C、串联接D、子串定位图2二、填空题(每小题2分,共30分)存储结构是逻辑结构的__________实现。
若一个算法中的语句频度之和为T(n)=n+4nlogn,则算法的时间复杂度为________。
3. 数组A[1..10,-2..6,2..8]以行优先顺序存储,设基地址为100,每个元素占3个存储单元,则元素A[5,0,7]的存储地址是。
4. 在无向图的邻接矩阵A中,若A[i,j]等于1,则A[j,i]等于________。
对带有头结点的链队列lq,判定队列中只有一个数据元素的条件是___________。
设数组data[0..m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front的值为。
设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e3,e5,e4,e6,e2,e1,则栈S的容量至少应该是。
设有顺序栈s[0..m-1],若栈底设在下标最大的一端,则栈满的条件是(设栈顶指针为top,指向栈顶元素的位置)。
有一个10阶对称矩阵A,采用压缩存储方式,以行序为主序存储,A[1,1]为第一元素,其存储地址为1,每个元素占一个地址空间,则A[7,5]的地址为。
在序列(2,5,8,11,15,16,22,24,27,35,40)中采用折半查找,查找元素11,需进行次元素之间的比较。
深度为h的完全二叉树至少有_________个结点。
在对一组记录(18,6,27,12,52,15,47,29)进行直接插入排序时,当把第6个记录15插入到有序表时,为寻找插入位置需比较次。
在直接插入排序和快速排序中,若初始数据基本有序,则选用_________;在冒泡排序和堆排序中,若要求数据的稳定性,则选用_________。
广义表运算式TAIL(((a,b),(c,d))) 的运算结果为。
一组记录的关键字为(42,59,36,28,10,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为。
三.应用题(每小题5分,共35分)设有序列(45,24,53,12,28,90),请构成一棵二叉排序树,并求其查找成功时的平均查找长度。