数据结构模拟卷

合集下载

数据结构模拟试卷(一)

数据结构模拟试卷(一)
6.
1.请给出每个顶点的度,入度和出度。(4)
2.请画出其邻接矩阵、邻接表、逆邻接表、十字链表。(12)
1.栈和链表是两种不同的数据结构()。
2.二叉树中每个结点的两棵子树的高度差等于1()。
3.任一查找树(二叉分类树)的平均查找时间都小于用顺序查找法查找同样结点的线性表的平均查找时间()
4.若装填因子a为1,则向哈希表中散列元素时一定会产生冲突()
5.堆肯定是一棵平衡二叉树()
6.有向图的邻接表和逆邻接表中表结点的个数不一定相等。( )
struct record{int key; int others;};
int bisearch(struct record r[ ], int k)
{
int low=0,mid,high=n-1;
while(low<=high)
{
_______________;
if(r[mid].key==k) return(mid+1); else if(_____) high=mid-1;else low=mid+1;
int numberofleaf (JD *r)
{
int num;
if (r=NULL) num=0;
else if(r->firstchild==NULL) num =⑴+numberofleaf (r->nextbrother); else⑵;
return(num);
}
3.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。
14.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是()
A.2个B.6个C.3个D.4个
15.设图G的相邻矩阵如下图:则G的顶点数和边数分别为()

数据结构与算法 模拟试卷三四及参考答案

数据结构与算法 模拟试卷三四及参考答案
模拟试卷三
一、单选题(每题2分,共20分)
1.对一个算法的评价,不包括如下()方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度
2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;
二、填空题(每空1分,共26分)
1.联系图(或图结构)
2.尾首
3.top==0
4.O(1)O(n)
5.128 44 108
6.3 3
7. 有序n-1
8.有序序列后缀表达式(或逆波兰式)
9.2n n-1 n+1
10.2i+1 2i+2 (i-1)/2
11.开放定址法链接法
12.快速归并
三、运算题(每题6分,共24分)
A. 2 3 1B.321
C.312D. 12 3
5.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图
6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突B.高于链接法处理冲突
C.与链接法处理冲突相同D.高于二分查找
7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
C. p->next=HL; p=HL;D. HL=p; p->next=HL;
3.对线性表,在下列哪种情况下应当采用链表表示?( )
A.经常需要随机地存取元素B.经常需要进行插入和删除操作
C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变
4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( )

数据结构模拟试卷(含答案)

数据结构模拟试卷(含答案)

数据结构设计课程代码:7399一、单项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

每小题2分,共40分)1、串的长度是()。

A、串中不同字母的个数B、串中不同字符的个数C、串中所含字符的个数,且大于0D、串中所含字符的个数2、若用数组S[1..n]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。

为这两个栈分配空间的最佳方案是()。

A、S1的栈底位置为0,S2的栈底位置为n+1B、S1的栈底位置为0,S2的栈底位置为n/2C、S1的栈底位置为1,S2的栈底位置为nD、S1的栈底位置为1,S2的栈底位置为n/23、队列操作的原则是()。

A、先进先出B、后进先出C、只能进行插入D、只能进行删除4、有64个结点的完全二叉树的深度为()(根的层次为1)。

A、8B、7C、6D、55、在有n个结点的二叉链表中,值为非空的链域的个数为()。

A、n-1B、2n-1C、n+1D、2n+16、带权有向图G用邻接矩阵A存储,则顶点i的人度等于A中()。

A、第i行非∞的元素之和B、第i列非∞的元素之和C、第i行非∞且非0的元素个数D、第i列非∞且非0的元素个数7、在有n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为()。

A、0(n)B、0(log2n)C、0(nolg2n)D、0(n2)8、若表R在排序前已按键值递增顺序排列,则()算法的比较次数最少。

A、直接插入排序B、快速排序C、归并排序D、选择排序9、下列排序算法中,()排序在某趟结束后不一定选出一个元素放到其最终的位置上。

A、选择B、冒泡C、归并D、堆10、若线性表最常用的操作是存取第i个元素及其前趋的值,则采用()存储方式节省时间。

A、单链表B、双链表C、单循环链表D、顺序表11、对二叉树从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用()遍历实现编号。

数据结构模拟考试试卷

数据结构模拟考试试卷

数据结构模拟考试试卷(1卷)一.判断题(下列各题,正确的请在前面的括号内打√;错误的打×)(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。

(ㄨ)(2)线性表的链式存储结构优于顺序存储。

(√)(3)将中缀表达式转换成后缀表达式是栈的重要应用。

(×)(4)栈和队列都是顺序存储的线性结构。

(×)(5)“DT”是“DA TA”的子串。

(×)(6)在二叉树中,具有一个子女的父结点,在中序遍历的序列中,它没有后继子女结点。

(×)(7)带权图的最小生成树是唯一的。

(√)(8)散列存储法的基本思想是由关键字的值决定数据的存储地址。

(√)(9)希尔排序是不稳定的排序。

(√)(10)具有n个叶子结点的哈夫曼树共有2n-1个结点。

二.填空题1.线性结构中元素之间存在一对一关系。

2.树形结构和图形结构合称为:非线性结构。

3.顺序表中逻辑上相邻的元素在物理位置上必须相连。

4.在单链表中要在已知结点*P之前插入一个新结点,需找到*P的直接前趋结点的地址,其查找的时间复杂度为O (n) 。

5.同一栈的各元素的类型相同。

6.已知表达式,求它的后缀表达式是栈的典型应用之一。

7.队列在进行出队操作时,首先要判断队列是否为空。

8.设循环队列的头指针front指向队头元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为front==(rear+1)% MAXLEN 。

9.串的链式存储结构简称为链式串。

10.求子串函数SubStr("Today is 30 July,2005",13,4)的结果是:July 。

11.给定如下图所示的二叉树,其层次遍历序列为:ABCEFGH 。

12.将一棵完全二叉树按层次编号,对于任意一个编号为i的结点,该结点右孩子的编号为:2*i+1 。

13.图的遍历有:深度优先搜和 _广度优先搜 __等方法。

数据结构试卷带答案

数据结构试卷带答案

数据结构试卷带答案问题说明部分题目或答案有问题,现将已经发现的公布如下,同学在作这些模拟题的时候应着重做题方法的理解,遇到问题以教材或课件为准,不确定的地方可找同学商量或问我(1)试卷1第一套填空题第1题,试卷1第2套选择题第3题关于循环队列队头指针和队尾指针的约定与教材不一致,以教材或课件为准,实际上front指向的是队头元素,rear指向当前尚未被占用的第一个队列空间,队慢或队空的判定条件及入队/出队等操作具体可参考课件或教材(2)试卷1第一套应用题第5题,不声明邻接点顺序时默认编号最小的邻接点为第一邻接点,该图的深度优先遍历序列为123465,答案错。

此外,当给定邻接表时则邻接点顺序按照邻接表中的前后顺序确定,如试卷1第二套填空题第8题(3)试卷1第五套应用题第4题,两种方法处理冲突的方法下所求ASL值相等都为7/6(4)试卷1第五套填空题第8题答案给出的是小顶堆需满足的条件,大顶堆满足ki>=k2i p->rlink->llink=p->llink;此外,注意课堂中讲的指针名和操作方法(12)第4套填空题第6题答案错,设哈夫曼树中共有99个结点,则该树中有____50_____个叶子结点;若采用二叉链表作为存储结构,则该树中有__100___个空指针域。

(13)第5套选择第8题答案应为A:设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为(A) abedfc(14)第5套应用题第3题题目未指明查找方法,没法作(15)第6套选择第5题应选B,实际是任意结点至多只有一个孩子:设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(B) 高度等于其结点数(16)第7套填空1题问题本身错,设指针变量p指向双向链表中的结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为____s->left_____=p;s->right=p->right;___p->right_______=s;s->right->left=s;(设结点中的两个指针域分别为left和right)。

数据结构试题集(8套卷子+答案)

数据结构试题集(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,试画出该二叉树形状,并写出它的后序遍历序列。

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。

A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。

答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。

答案:队尾、队头11. 二叉树中的节点包括______和______。

答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。

答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。

《数据结构》模拟试卷八

《数据结构》模拟试卷八

模拟试卷八一、选择题(每小题2分,共10分)1.一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是。

(l)12345 (2)54321(3)23451 (4)412352.一棵左子树为空的二叉树在先序线索化后,其中的空链域的个数为。

(1)0 (2)1(3)2 (4)不确定3.在用邻接表表示图的情况下,拓扑排序算法的时间复杂度为。

(l) O(n+e)(2) O(n2)(3) O(n×e)(4) O(n3)4.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是。

(1)直接插入排序(2)快速排序(3)直接选择排序(4)堆排序5.下列排序算法中,依次将待排序序列中的元素和前面有序序列合并为一个新的有序序列的排序算法是。

(1)直接插入排序(2)冒泡排序(3)快速排序(4)直接选择排序二、判断题(每小题1分,共10分)l.()设指针 P指向单链表中一个结点,则语句序列U:=P^.next; U :=U^.next 将删除一个结点。

2.()栈和队列都是运算受限的线性表。

3.()广义表的长度是指广义表中的原子个数。

4.()若某二叉树的叶子结点数为1,则其先序序列和后序序列一定相反。

5.()二叉树在按任一种次序线索化后,都可以很容易地求出相应次序下的前趋和后继。

6.()在采用线性探测法处理冲突的散列表中,所有同义词在表中相邻。

7.()对B树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在叶子结点中。

8.()若一个无向图的以顶点1为起点的深度遍历序列唯一,则可唯一确定该图。

9.()在对一有向无环图执行拓扑排序算法之后,入度数组中的所有元素的值为0。

10.()在数据表基本有序时,冒泡排序算法的时间复杂度一定接近O(n)。

三、填空题(每小题2分,共20分)1.在单链表中,在指针P所指结点的后面插入一个结点到的语句序列是。

《数据结构》模拟试卷二

《数据结构》模拟试卷二

模拟试卷二一、选择题(每小题2分,共10分)1.若线性表最常用的操作是存取第i个元素及其前趋的值,则采用存储方式节省时间。

a.单链表 b. 双链表c.单循环链表 d.顺序表2.对二叉树从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其有孩子的编号,则可采用次序的遍历实现编号。

a.无序 b.中序c.后序 d.从根开始的层次遍历3.某二叉树的先序序列和后序序列正好相反,则该二叉树一定是的二又树。

a.空或只有一个结点 b. 高度等于其结点数C.任一结点无左孩子 d.任一结点无右孩子4.下列排序算法中,时间复杂度不受数据初始状态影响,恒为 O(nlog2n)的是。

a.堆排序 b. 冒泡排序c.直接选择排序 d. 快速排序5. 下列排序算法中,算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。

a.堆排序 b.冒泡排序c.快速排序 d. SHELL排序二、判断题(每小题1分,共10分)1.()在循环队列中,若尾指针Rear大于头指针Front,则其元素个数为 Rear - Front。

2.()串是n个字母的有限序列(n >= 0)。

3. ( )若一棵二叉树的任一非叶子结点的度为2,则该二叉树为满二叉树。

4.()二叉树只能采用二又链表来存储。

5.()有向图用邻接矩阵表示后,顶点i的出度等于第i行中非0且非加的元素个数。

6.()图G的某一最小生成树的代价一定小于其他生成树的代价。

7.()给定结点数的平衡二叉树的高度是唯一的。

8.()9阶B树中,除报以外的任一结点中的关键字个数不少于4。

9.()只有在初始数据表为倒序时,冒泡排序所执行的比较次数最多。

10.()堆排序中,在输出一个根之后的调整操作中,“临时根”结点的值将被调到“叶子结点”上。

三、项空(每小题2分,共20分)l. 在单链表中,删除指针P所指结点的后继结点的语句是。

2.取出广义表A = ((x,y,z),(a,b,c,d))中原子b的函数是。

计算机专业基础综合(数据结构)模拟试卷8(题后含答案及解析)

计算机专业基础综合(数据结构)模拟试卷8(题后含答案及解析)

计算机专业基础综合(数据结构)模拟试卷8(题后含答案及解析) 题型有:1. 单项选择题 2. 综合应用题单项选择题1-40小题,每小题2分,共80分。

下列每题给出的四个选项中,只有一个选项是最符合题目要求的。

1.若某线性表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则下面最节省运算时间的存储方式是( )。

A.单链表B.带有头指针的单循环链表C.双链表D.带有尾指针的单循环链表正确答案:D解析:在链表中的最后一个结点之后插入一个结点要知道终端结点的地址,所以,单链表、带有头指针的单循环链表、双链表都不合适。

考虑在带有尾指针的单循环链表中删除第一个结点,其时间性能是O(1),所以答案是D。

知识模块:数据结构2.已知两个长度分别为l和s的降序链表,若将它们合并为一个长度为l+s 的升序链表,则最坏情况下的时间复杂度是( )。

A.D(l)B.D(ls)C.D(min(l,s))D.D(max(l,s))正确答案:D解析:在合并过程中,最坏的情况是两个链表中的元素依次进行比较,比较的次数最少是m和n中的最大值。

知识模块:数据结构3.线性表中存放的主要是( )。

A.整型常量B.字符C.数据元素D.信息元素正确答案:C解析:线性表中主要存放的是数据元素,而数据元素可以是整型也可以是字符型,但对于一个线性表来说,所有的数据元素的类型必须相同。

知识模块:数据结构4.下面的叙述中正确的是( )。

I.线性表在链式存储时,查找第i个元素的时间同i的值成正比Ⅱ.线性表在链式存储时,查找第i个元素的时间同i的值无关Ⅲ.线性表在顺序存储时,查找第i个元素的时间同i的值成正比A.仅ⅠB.仅ⅡC.仅ⅢD.Ⅰ、Ⅱ、Ⅲ正确答案:A解析:在线性表链式存储结构中,查找第i个元素的时间与i的位置成正比。

而在顺序存储结构中查找第i个元素的时间与i的位置无关。

知识模块:数据结构5.对于某线性表来说,主要的操作是存取任一指定序号的元素和在最后进行插入运算,那么应该选择( )存储方式最节省时间。

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案

数据结构模拟试卷(一)及参考答案一.单项选择题(本大题共15小题,每小题2分,共30分)1.如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( A )方法最快。

A、起泡排序B、快速排序C、堆排序D、直接选择排序2.算法分析的目的是(B)A.辨别数据结构的合理性B.评价算法的效率C.研究算法中输入与输出的关系D.鉴别算法的可读性3.在线性表的下列运算中,不改变数据元素之间结构关系的运算是(C)A.插入B.删除C.定位D.排序4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(D)A.3,2,6,1,4,5 B.5,6,4,2,3,1C.1,2,5,3,4,6 D.3,4,2,1,6,55.设串sl=″DataStructureswithJava″,s2=″it″,则子串定位函数index(s1,s2)的值为(A)A.15 B.16C.17 D.186.一个顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度为4,则第4个元素的存储地址是(B)。

A. 108B. 112C. 116D. 1207.从一个具有n个结点的单链表中查找其值等于x的结点,在查找成功的情况下,平均需要比较(C)个结点。

A. nB. n/2C. (n+1)/2D. (n-1)/28.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系(D)A.不一定相同 B.互为逆序C.都不相同D.都相同9.高度为5的二叉树至多有结点数为(A)A. 63B. 32C. 24D.6410.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为(B)A.图中每个顶点的出度B.图中每个顶点的入度C.图中弧的条数D.图中连通分量的数目11.图的邻接矩阵表示法适用于表示(C)A.无向图B.有向图C.稠密图D.稀疏图12.在一个单链表中,若p所指的结点不是最后一个结点,在p之后插入s所指的结点,则执行(D)。

计算机专业基础综合(数据结构)模拟试卷2

计算机专业基础综合(数据结构)模拟试卷2

计算机专业基础综合(数据结构)模拟试卷2(总分:70.00,做题时间:90分钟)一、单项选择题(总题数:21,分数:42.00)1.单项选择题1-40小题。

下列每题给出的四个选项中,只有一个选项是最符合题目要求的。

(分数:2.00)__________________________________________________________________________________________ 解析:2.栈和队列的主要区别在于( )。

(分数:2.00)A.它们的逻辑结构不一样B.它们的存储结构不一样C.所包含的运算不一样D.插入和删除运算的限定不一样√解析:解析:栈和队列的逻辑结构都是线性的,都有顺序存储和链式存储,有可能包含的运算不一样,但不是其主要区别。

任何数据结构在针对具体问题时所包含的运算都可能不同。

所以正确答案是D。

3.若循环队列以数组Q[0..m-1]作为其存储结构,变量rear。

表示循环队列中的队尾元素的实际位置,其移动按rear=(rear+1)MOD m进行,变量length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是( )。

(分数:2.00)A.rear-lengthB.(rear—length+m)MOD mC.(rear—length+1+m)MOD m √D.m-length解析:解析:按照循环队列的定义,因为元素移动按照rect=(rear+1)MOD m进行,则当数组Q[m—1]存放了元素之后,下一个入队的元素将存放到Q[0]中,因此队列的首元素的实际位置是(rear—length+1+m)MOD m。

4.一个以向量V[n]存储的栈,其初始栈顶指针top为n+1,则对于x,其正确的进栈操作是( )。

(分数:2.00)A.top=top+1;V[top]=xB.V[top]=x;top=top+1C.top=top-1;V[top]=x √D.V[top]=x;top=top-1解析:解析:此题考查的知识点是入栈的具体操作。

数据结构(第二版) 模拟试题自测卷AB卷带答案3

数据结构(第二版) 模拟试题自测卷AB卷带答案3

试卷B一、选择题(本题共20分,每题2分)1.在数据结构中,从逻辑上可以把数据结构分成( ) 。

A .动态结构和静态结构 B. 线性结构和非线性结构 C. 紧凑结构和非紧凑结构 D. 内部结构和外部结构 2. 下列程序段的时间复杂度是( )count=0;for(k=1;k<=n;k*=2) for(j=1;j<=n;j++) count++;A.O(nlog2n)B.O(n)C.O(log2n)D.O(n2) 3. 以下描述错误的是:( )A. 线性表是n 个数据元素的有限非空集合。

B. 栈和队列都是操作受限的线性表。

C. 串(或字符串)是由零个或多个字符组成的有限序列。

D. 非空栈中的栈顶指针top 始终指向栈顶元素的下一个位置。

4. 若采用少用一个队列空间的方法来区分队满队空两种状态,则判定一个顺序循环队列 Q (最大队列长度MAXSIZE )为满队列的条件是( )。

A. Q.front=Q.rearB. Q.front!=Q.rearC. Q.front=(Q.rear+1) % MAXSIZED. Q.front!=(Q.rear+1) % MAXSIZE 5. 按照二叉树的定义,具有 3 个结点的二叉树有( )种。

A. 3 B. 4 C. 5 D. 66. 设矩阵A (如下图所示)是一个对称矩阵,为了节省存储,将其下三角(包括对角线)部分按行序存放在一维数组 B[n(n+1)/2]中,对下三角部分中任一元素 ai,j(i ≥j),在一维数组 B 的下标位置k 的值是( )。

A. i(i-1)/2+j-1 B. i(i-1)/2+j C. i(i+1)/2+j-1 D. i(i+1)/2+j0,01,01,11,01,11,1...............n n n n a a a A a a a ----⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦7. 有一个有序表为{5, 18,23, 33, 42, 54,56,78},当折半查找56时,经过( )次比较后查找成功。

数据结构模拟试卷和答案

数据结构模拟试卷和答案

北京语言大学网络教育学院《数据结构》模拟试卷一注意:1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。

请监考老师负责监督。

2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。

3.本试卷满分100分,答题时间为90分钟。

4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。

一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。

1、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则采用()存储方式最节省时间。

[A] 顺序表[B] 双链表[C]带头结点的双循环链表[D] 单循环链表2、队列操作的原则是()。

[A] 只能进行删除[B] 后进先出[C]只能进行插入[D] 先进先出3、某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树。

[A] 空或只有一个结点[B] 高度等于其结点数[C]任一结点无左孩子[D] 任一结点无右孩子4、在下列排序方法中,()方法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2)。

[A] 插入排序[B] 希尔排序[C] 快速排序[D] 堆排序5、对二叉树从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一个结点的左、右孩子中,其左孩子编号小于右孩子编号。

则可采用()次序的遍历实现编号。

[A] 先序[B] 中序[C]后序[D] 从根开始的层次遍历6、若用数组S[n]作为两个栈S1和S2的共用存储结构,对任何一个栈,只有当S[n]全满时才不能作入栈操作。

为这两个栈分配空间的最佳方案是()。

[A] S1的栈底位置为0,S2的栈底位置为n[B] S1的栈底位置为-1,S2的栈底位置为n/2[C] S1的栈底位置为0,S2的栈底位置为n-1[D] S1的栈底位置为0,S2的栈底位置为n/27、对一棵二叉排序树进行()遍历,可以得到该二叉树的所有结点按值从小到大排列的序列。

十套数据结构试题及答案(1)

十套数据结构试题及答案(1)

数据结构试卷(一)一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B。

都是先进后出C。

都是先进先出D。

没有共同点2.用链接方式存储的队列,在进行插入运算时( )。

A. 仅修改头指针 B。

头、尾指针都要修改C. 仅修改尾指针 D。

头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?()A. 队列B。

栈 C. 线性表 D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

A.688 B.678 C.692 D.6965.树最适合用来表示( ).A.有序数据元素B.无序数据元素C。

元素之间具有分支层次关系的数据D。

元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k—1 B.2K+1 C.2K—1 D。

2k—17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A。

O(1)B。

O(n) C. O(1og2n) D。

O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图.A。

5 B.6 C.7 D。

8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。

2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________.3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。

数据结构(第二版) 模拟试题自测卷AB卷带答案1

数据结构(第二版) 模拟试题自测卷AB卷带答案1
A. a B. b C.NULL D.x
5.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行________。
A.p=q->next; p->next=q->next;free(p);
B.p=q->next; q->next=p; free(p);
C.p=q->next; q->next=p->next; free(p);
试卷一
一、选择题(本题共30分,每题2分)
1.计算机识别、存储和加工处理的对象被统称为________。
A.数据B.数据元素C.数据结构D.数据类型
2.已知一栈的进栈序列为:1234,则下列哪个序列为不可能的出栈序列________。
A.1234B.4321 C.2143D.4123
3.链表不具有的特点是________。
(1)直接插入排序
(2)基数排序
5.对于下面所示的连通图,写出由Prim算法生成的最小生成树。(5分)
6.将下面的树转化为一棵二叉树,并写出对二叉树进行层序遍历的序列。(7分)
四、算法题(本题共20分)
1.完成中序遍历二叉树。
Typedef struct node
{
Char data;
Struct node *lchild;
3.数据的逻辑结构包括集合、________、________和图状结构四种类型。
4.图的两种遍历方式为:广度优先遍历和_______________。
5.线性表的链式存储结构中的结点包含________域和________域。
6.向一棵二叉搜索树中插入一个元素时,若元素的值小于根结点的值,则应把它插入到根结点的_______上。

计算机专业基础综合(数据结构)模拟试卷7

计算机专业基础综合(数据结构)模拟试卷7

计算机专业基础综合(数据结构)模拟试卷7(总分:110.00,做题时间:90分钟)一、单项选择题(总题数:31,分数:62.00)1.单项选择题1-40小题。

下列每题给出的四个选项中,只有一个选项是最符合题目要求的。

__________________________________________________________________________________________ 解析:2.下面给出的4种排序方法中,( )排序法是不稳定性排序法。

(分数:2.00)A.插入B.冒泡C.二路归并D.堆√解析:解析:此题考查的知识点是排序算法的稳定性问题。

如果待排序的文件中,存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,则称这种排序是稳定的排序;反之,若具有相同关键字的记录之间的相对次序发生变化,则称这种排序是不稳定的排序。

是否稳定与算法有关,相邻数据比较的算法是稳定的,不相邻数据比较会出现不稳定。

选项A、B、C都是相邻元素比较,是稳定的。

所以选D。

3.下列内部排序算法中,其比较次数(或交换次数)与序列初态无关的算法是( )。

(分数:2.00)A.快速排序B.直接插入排序C.二路归并排序√D.冒泡排序解析:解析:此题考查的知识点是各类排序算法的思想。

冒泡排序方法就是自底向上检查这个序列,若两个相邻的元素的顺序不对,则交换。

直到所有元素处理完为止。

与序列初态有关,D错。

直接插入排序思想是假设待排序的记录存放在数组R[n+1]中,排序过程中的某一时刻,R被分成两个子区间[R[1],R[i一1/]/]和[R[i],R[n/]/],其中,前一个子区间是已排好序的有序区;后一个子区间是当前未排序的无序区。

直接插入排序的基本操作是将当前无序区的第i个记录R[i]插入到有序区中的适当位置,使得R[1]到R[i]变为新的有序区。

首先比较R[i]和R[i一1],如果R[i一1]≤R[i],则R[1..i]已排好序,第i遍处理就结束了:否则交换R[i]与R[i一1]的位置,继续比较R[i—1]和R[i一2],直到找到某一个位置j(1≤j≤i 一1)使得R[j]≤R[j+1]时为止。

数据结构试卷及答案

数据结构试卷及答案

东华理工大学2021 —2021学年第 一 学期考试模拟试卷 A一、 填空题〔50分〕1、数据构造是一门研究非数值计算的程序设计问题中的 数据元素 以及它们之间 关系 和运算等的科学。

〔2分〕2、数据构造的类型通常分为: 集合、线性构造、树形构造、图状构造或网状构造 ;从逻辑上可以把它们分成: 线性构造和非线性构造 。

3、数据的 逻辑构造 只抽象反映数据元素的 逻辑关系 ;数据的 存储〔物理〕构造 是数据的逻辑构造 在计算机存储器中的实现 。

4、算法分析的目的是分析算法的 效率以求改良 ,算法分析的两个主要方面是 空间复杂度和时间复杂度 。

A5、计算机算法是解决问题的 有限运算序列 ,它必须具备 输入、输出、确定性、有穷性和稳定性 等5个方面的特性。

6、线性构造中元素之间的关系存在 一对一 关系,树形构造中元素之间的关系存在 一对多 关系,图形构造中元素之间的关系存在 多对多 关系。

7、试写出以下算法的时间复杂度i=s=0while (s<n) {i++;s += i;}7、试写出以下算法的时间复杂度i = 1 while( i <= n) )(n Oi = i*2O(log2n)8、抽象数据类型的定义由三元组来定义:(D,S,P)其中,D是数据对象, S是D上的关系集,P是对D的根本操作集。

9、写出抽象数据类型线性表的定义ADT List{数据对象:D={ai | ai ∈Elemset, i=1,2,…,n,n≥0}数据关系:R={< ai-1 , ai> | ai-1 , ai ∈D, i=2,…,n}根本操作:InitList(&L) //构造一个空的线性表LDestroyList(&L) //消毁线性表LListLength(L) //返回L中数据元素的个数ListInsert(&L,i,e) // 1 ≤ i ≤ ListLength(L)+1,在L中第i个位置之前插入数据元素e,L长度加1ListDelete(&L,i,&e) // 1 ≤ i ≤ ListLength(L),删除L中的第i个元素,并用e 返回ListTraverse(L,visit()) //依次对L的每个元素调用函数visit()…………} ADT List10、指出线性表顺序存储、链式存储构造的优缺点。

数据结构参考答案

数据结构参考答案

《数据结构》模拟卷A一、选择题1.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A )。

A. O(n)B. O(n/2)C. O(1)D. O(n2)2.带头结点的单链表first为空的判定条件是:( B )。

A. first == NULL;B. first->link == NULL;C. first->link == first;D. first != NULL;3. 从逻辑上可以把数据结构分为( C )两大类。

A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构4.在系统实现递归调用时需利用递归工作记录保存实际参数的值。

在传值参数情形,需为对应形式参数分配空间,以存放实际参数的副本;在引用参数情形,需保存实际参数的( D ),在被调用程序中可直接操纵实际参数。

A. 空间B. 副本C. 返回地址D. 地址5. 以下数据结构中,哪一个是线性结构( D )。

A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串6. 以下属于逻辑结构的是( C )。

A.顺序表 B. 哈希表 C.有序表 D. 单链表7.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为( C )的值除以9。

A. 20B. 18C. 25D. 228.在有向图中每个顶点的度等于该顶点的( C )。

A. 入度B. 出度C. 入度与出度之和D. 入度与出度之差9.在基于排序码比较的排序算法中,( C )算法的最坏情况下的时间复杂度不高于O(nlog2n)。

A. 起泡排序B. 希尔排序C. 归并排序D. 快速排序10.当α的值较小时,散列存储通常比其他存储方式具有( B )的查找速度。

A. 较慢B. 较快C. 相同D.不同二、填空题1.二维数组是一种非线性结构,其中的每一个数组元素最多有______2___个直接前驱(或直接后继)。

2.将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中,A[0][0]存放于B[0]中。

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

一、选择题(10*2%=20%)1.代码段for (j=1; j<=n;j++) 的时间复杂性是B。

for (k=n; k>=1; k/=2)count++;A、O(n2)B、O(nlogn)C、O(logn)D、O(n)2.对某个无向图的邻接矩阵来说,下列叙述正确的是 A 。

A、第i行上的非零元素个数和第i列上的非零元素个数一定相等B、矩阵中的非零元素个数等于图中的边数C、第i行与第i列上的非零元素的总数等于顶点vi的度数D、矩阵中非全零行的行数等于图中的顶点数3.循环双链表中在p所指结点之后插入结点s的操作是D。

A、p->next=s; s->prior=p; p->next->prior=s; s->next=p->nextB、p->next=s; p->next->prior=s; s->prior=p; s->next=p->nextC、s->prior=p; s->next=p->next; p->next=s; p->next->prior=sD、s->prior=p; s->next=p->next; p->next->prior=s; p->next=s4.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态如图,,不可能的出栈顺序是C。

A、a4,a3,a2,a1B、a3,a2,a4,a1C、a3,a1,a4,a2D、a3,a4,a2,a15.下列四种排序方法中,不稳定的方法是D。

A、插入排序B、冒泡排序C、归并排序D、选择排序6.单个结点二叉树的高度为0,所有含有15个结点的二叉树中,最小高度是D。

A、6B、5C、4D、37.在一个具有n个顶点的无向图中,要连通全部顶点至少需要B条边。

A、nB、n-1C、n/2D、n+18.快速排序法的运行效率取决于D。

A、要排序的数据量B、要排序的数据中含有相同值的比例C、要排序的数据的局部有序性D、划分过程的对称性9.二叉树若用顺序存储结构(数组)存放,则下列四种运算中的C最容易实现。

A、先序遍历二叉树B、判断两个结点是否位于同一层C、层次遍历二叉树D、根据结点的值查找其存储位置10.模式串ABBCABABDBABBC的前缀函数为C。

A 、00001212000121B 、10000120001212C 、00001212001234D 、10000120012345二、填空题(15*2%=30%)1、已知某棵二叉树按中序遍历所得到的结点序列为DCBGEAHFIJK ,按后序遍历所得到的结点序列为DCEGBFHKJIA ,该二叉树按前序遍历所得到的结点序列为ABCDGEIHFJK 。

2、一个n ×n 的下三角矩阵A 中的元素a ij (i ≥j ,1≤i ,j ≤n )按行存于一个一维数组B[1..n (n +1)/2]中,对其中的任一元素aij ,若在B 中的位置为k ,则k =j+(i-1)i/2。

3、设一棵完全二叉树具有988个结点,则此完全二叉树有 494 个叶子结点,有 493 个度为2的结点,有 1 个结点只有非空左子树,有 0 个结点只有非空右子树。

4、向一个有127个元素的有序线性表(数组实现)中插入一个随机的新元素并依然保持有序性,平均要移动 63.5 个元素。

5、设栈S 和队列Q 的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q ,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S 至少应该能容纳 4 个元素。

6、顺序循环队列中,设队头指针为 front ,队尾指针为rear ,队中最多可有MAX 个元素, 则元素入队列时队尾指针的变化为 (rear+1)%MAX ;元素出队列时队头指针的变化为 (front+1)%MAX 。

若采用少用一个存储单元的方法区分队满与队空问题,则可用 (rear+1)%MAX==front 表示队满的判别条件。

7、在输入已经有序的情况下,整个冒泡排序算法需要执行 n(n-1)/2 次元素比较操作。

8、设一个闭散列表的容量为m ,用线性探测法解决冲突,要插入一个键值,若插入成功,至多要进行 m-1 次检测。

9、用邻接矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=0 1 01 0 10 1 0A 表示一张图,如果该图是有向图,共有 4 条边;若是无向图,则共有 2 条边。

三、简答题(28%)1、(5分)设下列二叉树是与某森林对应的二叉树,回答下列问题。

(1)森林中有几棵树?(2)每一棵树的根结点标号分别是什么? (3)每一棵树中有几个结点? (4)森林中共有几个叶子结点? 解答: (1)3 (2分)(2)A C F (1分) (3)6 2 3 (1分) (4)6 (1分)2、(6分)用Prim 算法(初始顶点集S ={7})构造出下图的一棵最小生成树,请用图示法画出其构造过程。

图解:(每图1分)3.(6分)已知序列{17,31,13,11,20,35,25,8},请将上述序列初始建为一个极小化堆,并给出输出前两个最小关键字后重建的堆。

(要求画出初始建堆和两次调整后堆的示意图)。

图解:(每图2分)4.(5分)设有一组关键字{10 100 32 45 58 126 3 29 200 400 0},散列表大小hashSize=13,表项下标从0到12,散列函数h(x)采用先将关键码各位数字折叠相加, 再用%hashSize将相加的结果映像到表中的办法,采用二次散列技术(h2i-1(x)=|h(x)+i2|%hashsize,h2i(x)=|h(x)-i2|%hashsize解决冲突,画出相应的闭散列表,并指出每一个产生冲突的关键码分别产生了多少次冲突。

解答:(每项包括位置和冲突次数0.5分)5.(6分)已知如图所示的有向图,请按照Dijkstra算法找出顶点A到所有其它顶点的最短路径。

(要求给出具体迭代过程)解答:(每迭代0.5分,每个顶点距离0.5分)A-B:5A-C:3A-B-G-E-D:9A-B-G-E:7A-B-G-E—F:8A-B-G:6四、程序填空题(共6分)1、(6分)下列算法实现在中序线索二叉树中求结点p的前驱,请在空白处填入正确的语句或表达式。

ThreadedNode *Predecessor( ThreadedNode *p ){ ThreadedNode *q;if ( (1)p->LeftThread)return (p->LeftChild);else{q=p->LeftChild;while ( (2)!q->RightThread)(3)q=q->RightChild;return(q);}}//Predecessor五、算法设计题(共16分)1、(8分)二叉搜索树预先假设搜索是基于一个关键字的。

如果我们想要执行或者基于关键字key1或者基于关键字key2的查找,可以使用一种类似于二叉树的结构——2-d树。

但是在一棵2-d树中,偶数层用key1进行分叉,奇数层用key2进行分叉(根结点层数为0)。

图中就是一棵2-d树的示例,以名(first name)和姓(last name)作为两个关键字对二战以后的美国总统进行查找。

总统的姓名是按照年代顺序插入的(Truman、Eisenhower、Ford、Carter、Reagan、Bush、Clinton)。

请根据上述描述,编写实现2-d树的插入操作。

算法设计思想:从根结点开始,从上往下搜索元素X合适的插入位置,搜索过程中,记录当前结点current 所在层次(根结点层次为0),若current的层次为奇数时,用key2进行比较,当current->key2>x->key2,则搜索current的左子树,否则搜索其右子树;同理,若current 的层次为偶数时,用key1进行比较,当current->key1>x->key1,则搜索current的左子树,否则搜索其右子树。

搜索过程中要记录当前结点current的父结点,以便找到一个空指针的时候,可以直接在这个位置插入新的结点,并将元素x存储在这个新结点中。

算法设计题酌情给分2、(8分)现有一个计算机网络和一个双向连接表,每一个连接A-B表示文件可以在计算机A和B之间传送,如果存在M个连接和N台计算机,设计一个有效的算法帮助判定能否将一个文件从网络上任意一台计算机发送到任意的另外一台计算机上。

要求:算法时间复杂性为O(M+N)算法设计思想:将每一台计算机视为某一张无向图G中的结点,每一个连接A-B表示结点A和B之间存在一条边。

可通过图的连通性判断是否能将一个文件从网络上任意一台计算机发送到任意的另外一台计算机上。

由于这样的一张图具有N个结点和M条边,为了满足时间复杂性的要求,采用邻接表的方式实现图,并对图进行深度优先搜索也可以初始将每一台计算看成一个个独立的集合,将每一个连接A-B看成是一个等价关系,对于所有的连接进行处理,测试A和B是否处于同一个集合中,若非同一集合,则合并两个集合,当且仅当所有的计算机最终都位于同一个集合中,才能确定可将一个文件从网络上任意一台计算机发送到任意的另外一台计算机上。

使用大小求并和路径压缩的方法,存在2M次Find和至多N-1次Union,实际时间复杂性可视为O(M+N)算法设计题酌情给分。

相关文档
最新文档