数据结构模拟试题二

合集下载

数据结构与算法模拟试卷一、二及参考答案

数据结构与算法模拟试卷一、二及参考答案

四川大学《数据结构与算法分析》课程考试模拟试卷模拟试卷一一、单选题(每题2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。

A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。

以下6-8题基于图1。

6.该二叉树结点的前序遍历的序列为( )。

A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。

A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。

A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。

A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。

数据结构考试题(二)

数据结构考试题(二)

数据结构试卷(一)一、选择题(30分)1.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。

(A) O(n)(B) O(nlog2n)(C) O(1)(D) O(n2)2.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。

(A) 2k-1(B) 2k(C) 2k-1(D) 2k-13.设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为()。

(A) n(B) e(C) 2n(D) 2e4.在二叉排序树中插入一个结点的时间复杂度为()。

(A) O(1)(B) O(n)(C) O(log2n)(D) O(n2)5.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。

(A) n(B) n-1(C) m(D) m-16.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行()趟的分配和回收才能使得初始关键字序列变成有序序列。

(A) 3(B) 4(C) 5(D) 87.设用链表作为栈的存储结构则退栈操作()。

(A) 必须判别栈是否为满(B) 必须判别栈是否为空(C) 判别栈元素的类型(D) 对栈不作任何判别8.下列四种排序中()的空间复杂度最大。

(A) 快速排序(B) 冒泡排序(C) 希尔排序(D) 堆9.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N l,度数为2的结点数为N2,则下列等式成立的是()。

(A) N0=N1+1(B) N0=N l+N2(C) N0=N2+1(D) N0=2N1+l10.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过()。

(A) log2n+1(B) log2n-1(C) log2n(D) log2(n+1)二、填空题(42分)1.1.设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________。

《数据结构》全真模拟试题二与解答02

《数据结构》全真模拟试题二与解答02

《数据结构》全真模拟试题二与解答02全真模拟试题(二)一、单项选择题(在每个小题的4个备选答案中,选出正确的答案,并将其号码填在题后的括号内。

每小题2分,共24分)1.一个具有n个顶点的无向完全图的边数为()①n(n+1)/2 ②n(n-1)/2 ③n(n-1) ④n(n+1)2.在索引顺序表中查找一个元素,可用的且最快的方法是()①用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找②用顺序查找法确定元素所在块,再用二分查找法在相应块中查找③用二分查找法确定元素所在块,再用顺序查找法在相应块中查找④用二分查找法确定元素所在块,再用二分查找法在相应块中查找3.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用()存储方式最节省运算时间。

①单链表②双链表③带头结点的双循环链表④容量足够大的顺序表4.串是()①一些符号构成的序列②有限个字母构成的序列③一个以上的字符构成的序列④有限个字符构成的序列5.堆排序在最坏情况下,其时间复杂性为()①O(nlog2n) ②O(n2)③O(log2n2) ④O(log2n)6.快速排序的记录移动次数()比较次数,其总执行时间为O(nlog2n)。

①大于②大于等于③小于等于④小于7.一棵二叉树有n个结点,要按某顺序对该二叉树中的结点编号,(号码为1-n),编号须具有如下性质:二叉树中任一结点V,其编号等于其左子树中结点的最大编号加1。

而其右子树中结点的最小编号等于V的编号加1。

试问应按()遍历顺序编号。

①前根②中根③后根④层次8.3个结点可构成()个不同形态的二叉树。

① 2 ②3 ③4 ④59.对有n个记录的有序表采用二分查找,其平均查找长度的量级为()①O(log2n) ②O(nlog2n) ③O(n) ④O(n2)10.对有n个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为()①O(n) ②O(nlog2n) ③O(1) ④(log2n)11.栈操作的原则是()①先进先出②后进先出③栈顶插入④栈顶删除12.设矩阵A是一对称矩阵(aij =aji,1<=i,j<=8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为()①1031 ②1093 ③1096 ④1032二、判断题(判断下列各题是否正确,正确在括号内打“√”,错的打“×”。

数据结构试卷2(含答案)

数据结构试卷2(含答案)

数据结构期末试卷出卷人:09数煤(1)班1~9号一、判断题(5分)1、线性表是一种随机存取结构-------------------------------------------------------------------()2、循环链表的特点是最后一个结点的指针域为NULL--------------------------------------()3. 下列不等式是否正确:O(n)<O(nlog2n)<O(n2)<O(n3)<O(nk)<O(2n) ----------------------------------------------------()4. 数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,分别对应两种不同的存储结构:链式存储结构和顺序存储结构---------------------------------()5. 抽象数据类型不可通过固有数据类型来表现和实现--------------------------------------()二、选择题(15分)1、对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的()个元素。

(A) n/2 (B) (n+1)/2 (C) (n -1)/2 (D) n2、一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是()A 3,5,4,2,1B 3,2,4,5,1C 1,2,3,4,5D 5,4,3,1,23、已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是( )。

A. head(tail(LS))B. tail(head(LS))C. head(tail(head(tail(LS)))D. head(tail(tail(head(LS))))4、对稀疏矩阵进行压缩存储目的是()。

《数据结构》试题二

《数据结构》试题二

《数据结构》试题二一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共20分)1.算法分析的目的是( )A.找出数据结构的合理性B.研究算法中的输入/输出关系C.分析算法的效率以求改进D.分析算法的易读性2.在需要经常查找结点的前驱与后继的场合中,使用( )比较合适。

A.单链表B.双向链表C.顺序表D.循环链表3.下面关于线性表的叙述中,错误的为( )A.顺序表使用一维数组实现的线性表B.顺序表必须占用一片连续的存储单元C.顺序表的空间利用率高于链表D.在链表中,每个结点只有一个链域4.带头结点的单链表head为空的判断条件是( )A. head=NULLB. head→next=NULLC. head→next=headD. head< >NULL5.队列通常采用两种存储结构是( )A.顺序存储结构和链表存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构6.深度为n的二叉树中所含叶子结点的个数最多为( )个。

A.2nB.nC.2n-1D.2n-17.在双向链表存储结构中,删除p所指的结点时须修改指针()。

A. p->llink ->rlink=p->rlink p->rlink ->llink=p->llink;B. p->llink=p->llink ->llink p->llink ->rlink=p;C. p->rlink ->llink=p p->rlink=p->rlink ->rlinkD. p->rlink=p->llink ->llink p->llink=p->rlink ->rlink;8.下面的二叉树中,( )不是完全二叉树。

9.下列说法错误的是( )。

数据结构试题2(含答案)

数据结构试题2(含答案)

期末样卷参考答案一.是非题(每题2分共20分)1. 线性表的链式存储结构优于顺序存储结构。

F2. 栈和队列也是线性表。

如果需要,可对它们中的任一元素进行操作。

F3.字符串是数据对象特定的线性表。

T4.在单链表P指针所指结点之后插入S结点的操作是:P->next= S ; S-> next = P->next; F 5.一个无向图的连通分量是其极大的连通子图。

T6.邻接表可以表示有向图,也可以表示无向图。

T7.假设B是一棵树,B′是对应的二叉树。

则B的后根遍历相当于B′的中序遍历。

T8.通常,二叉树的第i层上有2i-1个结点。

F9.对于一棵m阶的B-树,树中每个结点至多有m 个关键字。

除根之外的所有非终端结点至少有┌m/2┐个关键字。

F10.对于任何待排序序列来说,快速排序均快于起泡排序。

F二.选择题(每题2分共28分)1.在下列排序方法中,(c)方法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2);(d)方法所有情况下时间复杂度均为0(nlogn)。

a. 插入排序b. 希尔排序c. 快速排序d. 堆排序2. 在有n个结点的二叉树的二叉链表表示中,空指针数为(b)。

a.不定b.n+1c.nd.n-13. 下列二叉树中,(a)可用于实现符号不等长高效编码。

a.最优二叉树b.次优查找树c.二叉平衡树 ••d.二叉排序树4. 下列查找方法中,(a)适用于查找有序单链表。

a.顺序查找b.二分查找c.分块查找d.哈希查找5. 在顺序表查找中,为避免查找过程中每一步都检测整个表是否查找完毕,可采用(a)方法。

a.设置监视哨b.链表存贮c.二分查找d.快速查找6. 在下列数据结构中,(c)具有先进先出特性,(b)具有先进后出特性。

a.线性表 b.栈 c.队列 d.广义表7.具有m个结点的二叉排序树,其最大深度为(f),最小深度为(b)。

a. log 2 mb. └ log2 m ┘ +1c. m/2 d .┌ m/2 ┐ -1e. ┌ m/2 ┐f. m8.已知一组待排序的记录关键字初始排列如下:56,34,58,26,79,52,64,37,28,84,57。

数据结构-试卷二及答案

数据结构-试卷二及答案

数据结构-试卷二及答案一、判断(每小题 1 分,共 10 分) 1.数据的存储结构是数据的逻辑结构的存储映象,不仅要存储数据元素的值,还要存储元素之间的相互关系。

2.用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系。

3.完全二叉树的叶子结点只能出现在最后一层上。

4.折半查找方法要求待查表必须是有序的顺序表。

5.在有向图 G 中, V 2 , V 1 和 V 1 , V 2 是两条不同的边。

6.图的最小生成树是唯一的。

7.从循环单链表的某一结点出发,只能找到它的后继结点,不能找到它的前趋结点。

8.在单链表中,头结点是必不可少的。

9.对快速排序来说,初始序列为正序和反序,都是最坏情况。

10.广义表是特殊的线性表。

二、选择(每题 1 分,共 15 分) 1.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S 。

若每个元素出栈后立即进入队列 Q ,且 7 个元素出队的顺序是bdcfeag ,则栈 S 的容量至少是()。

A.1 B.2 C.3 D.4 2.下列线索二叉树1/ 8中(用虚线表示线索),符合后序线索树定义的是( )。

3.已知广义表 A= (( a,b ) ,(c,d) ) , 则 head(A) 等于 ( )。

A.(a,b) B.((a,b)) C.a,b D.a 4.设字符串s1=‘ABCDEFG’,s2=‘PQRST’, 则运算s=strcat(strsub(s1,2,strlen(s2)),strsub (s1,strlen(s2),2))后结果为()。

A.BCQR B.BCDEF C.BCDEFG D.BCDEFEF 5.具有 8 个顶点的连通图的深度优先生成树,其边数为()。

A.8 B.9 C.7 D.6 6.算法分析的两个主要方面是()。

A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 7.下列四种排序中()的空间复杂度最大。

《数据结构》模拟试卷二

《数据结构》模拟试卷二

模拟试卷二一、选择题(每小题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的函数是。

数据结构模拟试题二及答案

数据结构模拟试题二及答案
(4)for(k=i; k<=j; k++) R[k]=S[k];
六.算法设计题
1.Struct node{
int data;
node* next;
}
typedef node* pointer;
pointer head;
voiddel(){
pointer p,q,r,s;
q=head; p=q->next;
数据结构模拟题二参考答案
一.判断题
1、× 2、× 3、√ 4、× 5、√ 6、√ 7、×.8、× 9、√ 10、× 11、×12、× 13、√ 14、×.15、×
二.填空题
1.数组 2.给f和r赋同一个值x,0≤x≤100 3.前者没有指定存储方法,后者指定存储方法 4.n ┏log2(n+1)┐ 5.双亲数组 孩子链表 左孩子和右兄弟链表 6.n 7. 57
7.若某棵二叉树结点的后序序列和层次序列正好相反,则该二叉树_____________。
A.每个结点都没有右孩子B.不存在度为2的结点C.每个结点都没有左孩子D.不存在
8.对于一棵具有n个结点,度为3的树来说,树的高度至少是____________。
A.┏log32n┓B.┏log3(3n-1)┓C.┏log3(3n+1)┓D.┏log3(2n+1)┓
13.对n个元素执行简单选择排序,排序码的比较次数总是n(n-1)/2次。
14.物理记录的大小与逻辑记录的大小成正比。
15.对索引文件,索引表是建立在内存的,数据区是建立在外存的。
二.填空题(每空1分,共15分)
1.在程序中,描述顺序表的存储空间一般用________变量。
2.若用Q[0]~Q[100]作为循环顺序队列的存储空间,用“队首指针f的值等于队尾指针r的值”作为队空的标志,则创建一个空队列所要执行的操作是___________。

数据结构模拟试题二

数据结构模拟试题二

模拟试题二一、选择题1.下面的序列中,()是堆。

(A)1,2,8,4,3,9,10,5 (B) 1,5,10,6,7,8,9,2(C)9,8,7,6,4,8,2,1 (D) 9,8,7,6,5,4,3,72.下图(一)的二叉树的中序线索为()。

3.设循环队列Q[1……N-1]的头尾指针为F,R,当插入元素时尾指针R加1,头指针F总是指在队列中第一个的元素的前一位置,则队列中元素计数为()。

(A)R-F (B)N-(R-F) (C)(R-F+N)%N (D)(F-R+N)%N4.设一数列的顺序为1,2,3,4,5,6,通过栈操作可以得到()的输出数列。

(A)3,2,5,6,4,1 (B)1,5,4,6,2,3(C)6,4,3,2,5,1 (D)3,5,6,2,4,15.具有n个顶点的完全有向图的边数为()。

(A)n*(n-1)/2 (B)n*(n-1) (C)n*n (D)(n*n)-16.具有2000个结点的二叉树,其高度至少为()。

(A)9 (B)10 (C)11 (D)12二、填空题1.在散列(Hash)表查找中,评判一个散列函数优劣的两个主要条件是()和()。

2.假设用向量V[0……m-1]来存储栈,m表示栈的最大容量,则入栈操作为( top=top+1;v[top]=x; ),出栈操作为()。

3.已知某图的邻接表存储结构如下:那么针对该邻接表的深度优先遍历结果为();广度优先遍历结果为()。

4.设根结点处在第一层,那么具有n个结点的完全二叉树,其高度为()。

5.快速排序方法的最坏时间复杂度为();平均时间复杂度为()。

6.给定表(55,63,44,38,75,80,31,56),用筛选法建立初始堆,则初始堆表为()。

*7.模式'abbababbba'的前缀函数next[j]为()。

8.设图G的顶点数为n,边数为e,各顶点的度数为D(Vi),则e=( )。

三、应用题1.若一棵非空的二叉树,其左右子树均为二叉排序树,且左子树的根的键值小于根节点的键值,根节点的键值不大于右子树的键值,则非空的二叉树是二叉排序树,对吗?为什么?2.快速排序、插入排序、归并排序、堆排序,哪一种排序方法所需的辅助空间最大?请简单说明。

《数据结构》模拟试卷二及答案

《数据结构》模拟试卷二及答案

模拟试卷二一、单选题(每题 2 分,共20分)1.在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行(B )。

A. HL=p; p->next=HL;B. p->next=HL->next; HL->next=p;C. p->next=HL; p=HL;D. p->next=HL; HL=p;2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储(A B )个元素.A. nB.n-1C. n+1D.不确定3.下述哪一条是顺序存储方式的优点?(C A )A.存储密度大 B.插入和删除运算方便C. 获取符合某种条件的元素方便D.查找运算速度快4.设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3) BDA.658 B.648 C.633 D.653 3m+3=78 m=255.下列关于二叉树遍历的叙述中,正确的是( DA ) 。

A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点6.k层二叉树的结点总数最多为( A ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.对线性表进行二分法查找,其前提条件是( ).A.线性表以链接方式存储,并且按关键码值排好序B.线性表以顺序方式存储,并且按关键码值的检索频率排好序C.线性表以顺序方式存储,并且按关键码值排好序D.线性表以链接方式存储,并且按关键码值的检索频率排好序8.对n个记录进行堆排序,所需要的辅助存储空间为A. O(1og2n)B. O(n)C. O(1)D. O(n2)9.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有()个,A.1 B.2 C.3 D.410.下列关于数据结构的叙述中,正确的是( D ).A.数组是不同类型值的集合B.递归算法的程序结构比迭代算法的程序结构更为精炼C.树是一种线性结构D.用一维数组存储一棵完全二叉树是有效的存储方法二、填空题(每空1分,共26分)1.数据的逻辑结构被分为_________、________、__________和___________四种。

《数据结构》(本)模拟试题二-推荐下载

《数据结构》(本)模拟试题二-推荐下载

=_______,则 p 所指结点为尾结点。
4.向一个栈顶指针为 h 的链栈中插入一个 s 所指结点时,可执行 s->next=h 和 。
5.在一个链队中,设 f 和 r 分别为队头和队尾指针,则插入 s 所指结点的操作为
________和 r=s; (结点的指针域为 next)
6.设有 n 阶对称矩阵 A,用数组 S 进行压缩存储,当 i<j 时,A 的数组元素 aij 相应于 数组 S 的数组元素的下标为_______。(数组元素的下标从 1 开始)
11.一棵完全二叉树共有 5 层,且第 5 层上有六个结点,该树共有( )个结点。
A.30
B.20
C.21
D.23
12.设顺序存储的线性表长度为 n,要删除第 i 个元素,按课本的算法,当 i=(

时,移动元素的次数为 3
A.3
B.n/2C.n-3D.413.在一个无向图中,所有顶点的度数之和等于边数的( )倍。
1.在 C 语言中,顺序存储长度为 3 的字符串,需要占用( )个字节。
A.4
B.3
C.6
D.12
2.数据的物理结构( )。
A.与数据的逻辑结构无关
B.仅仅包括数据元素的表示
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术0艺料不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试22下卷,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看2度并22工且22作尽22下可22都能2可地护1以缩关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编5试要写、卷求重电保技要气护术设设装交备备4置底高调、动。中试电作管资高气,线料中课并3敷试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

《数据结构》模拟试题与参考答案2(四套题)

《数据结构》模拟试题与参考答案2(四套题)

《数据结构》模拟试题A一、单项选择题(每题 3 分,共24分)1.下面关于线性表的叙述错误的是()。

(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。

(A)2m-1 (B)2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。

(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。

(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。

(A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。

(A) 9(B) 10(C) 11(D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。

(A) n-1 (B) n (C) n+1 (D) 2n-18.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。

(A) 2,3,5,8,6 (B) 3,2,5,8,6(C) 3,2,5,6,8 (D) 2,3,6,5,8二、填空题(每题2分,共16分)1.为了能有效地应用HASH查找技术,必须解决的两个问题是()和()。

2.下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。

(完整word版)数据结构试题试卷二含答案

(完整word版)数据结构试题试卷二含答案

模拟试题二模拟试题二一、选择题(28分)1.设一数列的顺序为l,2,3,4,5,通过栈结构不可能排成的顺序数列为( )。

A)3,2,5,4,l B)1,5,4,2,3C)2,4,3,5,l D)4,5,3,2,l2。

二叉树的第3层最少有()个结点。

A)0 B)1 C)2 D)33。

—个n个顶点的连通无向图,其边的个数至少为( )。

A) n-l B)n C)n+l D)nlogn4。

下列排序方法中,( )的比较次数与记录的初始排列状态无关。

A)直接插入排序 B)起泡排序C)快速排序 D)直接选择排序5.-棵哈夫曼树总共有II个结点,则叶子结点有( )个。

A)5 B)6 C)7 D)96.已知某算法的执行时间为(n+n2)+log2(n+2),n为问题规模,则该算法的时间复杂度是( )。

A)O(n)B)O(n2) C)O(log2n)D)O(nlog2n)7。

如果一棵树有10个叶子结点,则该树总共至少有( )个结点。

A)lO B)11 C)19 D) 218。

—个100×100的三角矩阵a采用行优先压缩存储后,如果首元素a[0][0]是第一个元素,那么a[4] [2]是第( )个元素。

A)13 B) 401 C) 402 D)4039.有一棵二叉树如题图1,该树是()。

A)二叉平衡树B)二叉排序树C)堆的形状D)以上都不是10。

对于含有n个顶点e条边的无向连通图,利用Prim算法生成最小代价生成树,其时间复杂度为(),利用Kruska算法的时间复杂度为().A)O(log2n) B)0(n2) C)O(ne) D)O(elog2ne)11.具有n个顶点的完全有向图的边数为( ).A)n(n—l)/2 B)n(n-l) C) n2 D)n2—112。

设有100个元素,用折半查找时,最大比较次数为(),最小比较次数为()。

A)25 B)7 C) 10 D)l13。

在内部排序中,排序时不稳定的有().A)插入排序B)冒泡排序C)快速排序D)归并排序14.串是一种特殊的线性表,其特殊性体现在()。

数据结构 模拟试题2 参考答案

数据结构 模拟试题2 参考答案

数据结构模拟试题2 参考答案一、填空题1.待排数据本身已排好序2.18.43.EDCBA4.265.N2+2N3+…+(m-1)Nm6.117.宽度优先搜索深度优先搜索8.P29. 310.Prim算法和Kruskal算法二、根据要求解答下列问题(1)采用后继结点的存储结构(2)(3)堆排序不稳定1 2 2 4 排序后结果为 1 2 2 4(4)(5) B树:B+树:B树与B+树的区别:1.B树:每个结点的关键字个数等于指针个数减1。

B+树:每个结点的关键字个数等于指针个数。

2.B+树中所有叶子结点包含了全部关键字信息,以及指向关键字记录的指针,叶子节点依关键字大小自小到大链接。

非终端结点作索引,结点中含有其子树根结点的最大(最小)关键字。

(6)栈是一种后进先出的数据结构,可应用于递归操作、表达式求值、括号匹配等。

队列是一种先进先出的数据结构,可应用于树的层次遍历,操作系统中的作业排队,先来先服务。

三、有序线性表的合并、KMP算法、顺序查找、二分查找、Hash查找、建立二叉排序树的算法、冒泡排序、选择排序、插入排序、堆排序、快速排序、归并排序、基数排序、Prim算法、Kruskal算法、图的深度优先搜索算法、图的广度优先搜索算法、Dijkstra算法、拓扑排序算法、Huffman算法、二叉树的先序遍历算法、中序线索二叉树算法。

四、#include <stdio.h>#include <stdlib.h>//线性表结点typedef struct SqList{int* elem;int length;int listsize;} SqList;//将有序的SR[i...m]和SR[m+1...n]归并为有序的TR[i...n]void Merge(int SR[], int TR[], int i, int m, int n){int j,k;j = m+1;k = i;while(i<=m && j<=n)if(SR[i]<=SR[j])TR[k++] = SR[i++];elseTR[k++] = SR[j++];while(i<=m)TR[k++] = SR[i++];while(j<=n)TR[k++] = SR[j++];}//将SR[s...t]归并排序为TR1[s...t]void MSort(int SR[], int TR1[], int s, int t){int m;int TR2[10];if(s == t)TR1[s] = SR[s];else{m = (s+t)/2; //SR[s...t]平分为SR[s...m]和SR[m+1...t]MSort(SR,TR2,s,m); //递归地将SR[s...m]归并为有序的TR2[s...m]MSort(SR,TR2,m+1,t); //递归地将SR[m+1...t]归并为有序的TR2[m+1...t] Merge(TR2,TR1,s,m,t); //将TR2[s...m]和TR2[m+1...t]归并到TR1[s...t] }}//主程序,供测试用void main(){SqList l;int i;l.listsize = l.length = 10;l.elem = (int*)malloc(sizeof(int)*l.listsize);for(i=0; i<l.length; i++)scanf("%d",&l.elem[i]);MSort(l.elem,l.elem,0, l.length-1);//for(i=0; i<l.length; i++)// printf("%d ",l.elem[i]); }五、typedef struct BiTNode{int data;int bal;struct BiTNode *left, *right; } BiTNode;int GetHeight(BiTNode* t) {int hl, hr;if(t==NULL)return 0;else{hl = GetHeight(t->left);hr = GetHeight(t->right);t->bal = hl-hr;if(hl<hr)return hr+1;elsereturn hl+1;}}六、typedef struct ArcNode{int adjvex;struct ArcNode *nextarc;}ArcNode;typedef struct VNode{int data;int in;int out;ArcNode *firstarc;} VNode;typedef struct{VNode vertices[NUM];int vexnum;int arcnum;}AlGraph;//获得结点的入度和出度void GetInAndOut(AlGraph &g) //开始时所有结点的入度出度为0 {int i;ArcNode *p;for(i=0; i<g.vexnum; i++){p = g.vertices[i].firstarc;while(p!=NULL){g.vertices[i].out++;g.vertices[p->adjvex].in++;p=p->nextarc;}}}。

《数据结构》期末模拟试题二

《数据结构》期末模拟试题二

《数据结构》期末模拟试题二一、单项选择题(每小题2分,共8分)1.当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。

A.top++; B.top--; C.top=0; D.top;2.从一个顺序存储的循环队列中删除一个元素时,首先需要()。

A.队头指针加1 B.队头指针减1C.取出队头指针所指的元素 D.取出队尾指针所指的元素3.一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序(以位于最左位置的对象为基准)所得到的第一次划分结果为()。

A.{38,46,79,56,40,84} B.{38,79,56,46,40,84}C.{40,38,46,79,56,84} D.{38,46,56,79,40,84}4.某算法仅含并列的程序段1和程序段2,程序段1的执行次数3n2,程序段2的执行次数为0.01n3,则该算法的时间复杂度为()。

A.O(n) B.O(n2) C.O(n3) D.O(1)二、填空题(每空1分,共32分)1.在线性结构、树形结构和图形结构中,直接前驱和直接后继结点之间分别存在着、和的联系。

2.向一个循环队列中插入元素时,需要首先移动,然后再向所指位置新插入的元素。

3.在一个循环队列Q中,判断队空的条件为,判断队满的条件为。

4.在一棵二叉树中,假定度为2的结点有5个,度为1的结点有6个,则叶子结点数有个。

5.对于一棵具有n个结点的二叉树,对应二叉链表中指针总数为个,其中个用于指向子女结点,个指针空闲着。

6.以折半查找方法查找一个线性表时,此线性表必须是存储的表。

7.表示图的三种存储结构为、和。

8.在一个具有n个顶点的无向完全图中,包含有条边,在一个具有n个顶点的有向完全图中,包含有条边。

9.假定一组记录的排序码为(46,79,56,38,40,80),对其进行归并排序的过程中,第二趟归并后的结果为。

《数据结构》(本)模拟试题二

《数据结构》(本)模拟试题二

《数据结构》(本)模拟试题二一、填空题(每小题2分,共24分)1.结构中的数据元素存在多对多的关系称为_____ ___结构。

2.要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。

则比较的次数和算法的时间复杂度分别为________和。

3.设有一个头指针为head的单向循环链表,p指向链表中的结点,若p->next= =_______,则p所指结点为尾结点。

4.向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行s->next=h和。

5.在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为________和r=s; (结点的指针域为next)6.设有n阶对称矩阵A,用数组S进行压缩存储,当i<j时,A的数组元素a ij相应于数组S的数组元素的下标为_______。

(数组元素的下标从1开始)7.一棵二叉树中顺序编号为i的结点,若它存在左、右孩子,则左、右孩子编号分别为_____ _、___ _____。

8.一棵有2n-1个结点的二叉树,其每一个非叶结点的度数都为2,则该树共有_______个叶结点。

9.________遍历二叉排序树可得到一个有序序列。

10.如图1所示的二叉树,其前序遍历序列为_______ __。

图111.二叉树为二叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。

这种说法是__________的。

(回答正确或不正确)12.按某关键字对记录序列排序,若在排序前和排序后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。

二、单项选择题(每小题2分,共30分)1.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。

A.4 B.3 C.6 D.122.数据的物理结构()。

A.与数据的逻辑结构无关 B.仅仅包括数据元素的表示C.只包括数据元素间关系的表示 D.包括数据元素的表示和关系的表示3.串函数StrCat(a,b)的功能是进行串()。

数据结构试题及答案(2)

数据结构试题及答案(2)

数据结构试题一、单选题(每题 2 分,共20分)1.1. 对一个算法的评价,不包括如下( B )方面的内容。

A.健壮性和可读性B.并行性 C.正确性 D.时空复杂度2.2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( A )。

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.3. 对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.4. 一个栈的输入序列为 1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.5. AOV网是一种( D )。

A.有向图 B.无向图 C.无向无环图D.有向无环图6.6. 采用开放定址法处理散列表的冲突时,其平均查找长度( B )。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同 D.高于二分查找7.7. 若需要利用形参直接访问实参时,应将形参变量说明为( D )参数。

A.值 B.函数 C.指针 D.引用8.8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。

A.行号B.列号 C.元素值 D.非零元素个数9.9. 快速排序在最坏情况下的时间复杂度为( D )。

A.O(log2n) B.O(nlog2n) C.O(n) D.O(n2)10.10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。

A. O(n)B. O(1)C. O(log2n) D. O(n2)二、运算题(每题 6 分,共24分)1. 1. 数据结构是指数据及其相互之间的_对应关系(联系)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)生成一个位数和x相同的正整数y,其中yi=xn-i+1,i=1,2,3…;
(2)将y累加到x中。
如对于正整数87,按上述方法重复4次后,将得到回文数4884:
87+78=165 165+561=726 726+627=1353 1353+3531=4884
写一个按上述方法求回文数的算法。要求:x的初始值从键盘输入,其位数最多允许10位。如果得到回文数,就输出这个数,并输出上述步骤重复执行的次数,如果上述步骤重复了30次还得不到回文数,则放弃。
A.都对存储方法作了限制B.都是只能进行插入、删除运算C.都对插入、删除的位置作了限制D.都对插入、删除两种操作的先后顺序作了限制
6.如果5个元素的出栈的顺序是1,2,3,4,5,则进栈的顺序可能是_____________。
A.3,5,4,1,2 B.1,4,5,3,2 C.2,4,3,1,5 D.5,1,3,2,4
2.若H1是动态单向链表的表头指针,H2是动态双向链表的表头指针,则________。
A.H1和H2占用同样多的内存空间B.H1和H2是同类型的变量
C.H2要比H1占用更多的内存空间
D.双向链表要比单向链表占用更多的内存空间
3.对于K个带头结点的静态单向链表来说,若各结点类型相同,则K个链表一般可共用_________。
{
If (R[a].key<=R[b].key)
{ S[c]=R[a];
a++;
}
Else {
(2)____________________________
}
c++;
}
(3)____________________________
While (b<=j)
{
S[c]=R[b];
b++;
c++;
}
(4)____________________________
3.栈和顺序栈的区别仅在于________。
4.n个结点的二叉树最大高度是___,最小高度是___。
5.树的存储方法主要有_____、_____和_____三种。
6.n个顶点的强连通图中至少有___条边。
7.10行20列矩阵若用列优先顺序表来表示,则矩阵中第7行第6列元素是顺序表中第___个元素。
8.在各元素查找概率相等的情况下,在含有14个元素的平衡二叉排序树上查找其中一个元素,元素间的平均比较次数至少是_____次,至多是______次。
if (result==1)
for(i=A.s; i<=maxlength; i++)
cout<<A.v[i];
}
void add(list &A, list &B){
inti, j, x;
i=A.s; x=0;
for (j=maxlength; j>=A.s j--) {
x=A.v[j]+A.v[i]+x;
13.对n个元素执行简单选择排序,排序码的比较次数总是n(n-1)/2次。
14.物理记录的大小与逻辑记录的大小成正比。
15.对索引文件,索引表是建立在内存的,数据区是建立在外存的。
二.填空题(每空1分,共15分)
1.在程序中,描述顺序表的存储空间一般用________变量。
2.若用Q[0]~Q[100]作为循环顺序队列的存储空间,用“队首指针f的值等于队尾指针r的值”作为队空的标志,则创建一个空队列所要执行的操作是___________。
7.若某棵二叉树结点的后序序列和层次序列正好相反,则该二叉树_____________。
A.每个结点都没有右孩子B.不存在度为2的结点C.每个结点都没有左孩子D.不存在
8.对于一棵具有n个结点,度为3的树来说,树的高度至少是____________。
A.┏log32n┓B.┏log3(3n-1)┓C.┏log3(3n+1)┓D.┏log3(2n+1)┓
}
}
六.算法设计题(每小题12分,共24分)
1.假设head是某个带头结点单链表的表头指针,每个结点数值字段的类型为整型。写一个算法,从该链表中删除一个值最大的结点,并将该结点的值存入表头结点的数值字段。
2.如果一个十进制正整数首位数字不为零,而且从左往右读和从右往读都一样,则称其为回文数。对一个n位的正整数x,反复执行下列操作,有可能得到一个回文数:
int v[maxlength+1];
int s;
}
int count, result;
void test(list &A){
int i ,j;
i=A.s; j=maxlength;
while((i<j)&&(A.v[i]==A.v[j])){
i++; j--;
}
if (i<j)
result=0;
else result=1;
A.同一个数组B.某些数组元素C.同一个表头结点D同一个表头指针
4.最不适合用作链接栈的链表是_____________。
A.只有表头指针没有表尾指针的循环双向链表
B.只有表尾指针没有表头指针的循环双向链表
C.只有表尾指针没有表头指针的循环单向链表
D.只有表头指针没有表尾指针的循环单向链表
5.栈和队列的共同点在于_____________。
(4)for(k=i; k<=j; k++) R[k]=S[k];
六.算法设计题
1.Struct node{
int data;
node* next;
}
typedef node* pointer;
pointer head;
void del(){
pointer p,q,r,s;
q=head; p=q->next;
B.v[j]=x%10;
x=x/10;
i++;
}
B.s=A.s;
if(x>0){
B.s--; B.v[B.x]=x;
}
count++;
}
void revers(list &A, list &B)
{
test(A);
if((result==0)&&(count<maxtimes)){
add(A,B);
reverse(B,A);
Void mergesort(list R, list S, int i, int j){
Int a,b,c,k;
If (I<j)
{
K=(i+j)/2;
mergesort(R,S,i,k);
mergesort(R,S,k+1,j);
(1)____________________________
While ((a<=k)&&(b<=j))
C.矩阵元素的取值D.矩阵的存储方法
11.若长度为n且有n种不同原子的广义表用链接方法存储,则时间复杂度为O(n)的运算是___________。
A.复制一个广义表B.求广义表的长度C.查找某个子表D.查找某个原子
12.待查找元素关键字的值依次是47,且已存入变量k中,如果在查找过程中,和K进行比较的关键字值依次是47,32,46,25,47,则采用的查找方法____。
}
}
9.对n个元素执行快速排序,在进行第一次分组时,元素的移动次数至多是____次,至少是___次。
10.在B-树中,若某结点有i个孩子,则该结点中一定有___个关键字。
三.选择题(每题2分,共30分)
1.数据结构的研究内容不涉及________。
Байду номын сангаасA.算法用什么语言来描述B.数据如何存储
C.数据的运算如何实现D.数据如何组织
7.在图中,与Vi相邻的顶点其序号一定是i+1或i-1。
8.如果是不连通的无向图,则在相应的邻接表中一定有空链表。
9.矩阵的行数和列数可以不相等。
10.广义表的深度与广义表中含有多少个子表元素有关。
11.折半查找可以在有序的双向链表上进行。
12.散列查找过程中,关键字的比较次数和散列表中关键字的个数直接相关。
A.是一种错误的查找方法B.可能是分块查找C.可能是顺序查找D.可能是折半查找
13.如果元素R1和R2有相同的排序码,并且进行堆排序前,R1在R2的前面,则当排序结束后,___________。
A.R1一定在R2的前面B.R1一定在R2的后面
C.R1有可能在R2的后面D.选择R1或R2中的一个留在线性表中
数据结构模拟试题二
一.判断题(每小题1分,共15分)
1.构成数据的最小单位是数据项。
2.空线性表的一个特性是线性表中各结点尚未赋值。
3.非循环单向链表一定要有表头指针。
4.顺序栈的栈顶指针是一个指针类型的变量。
5.在表示树的双亲数组中,找结点的双亲要比找结点的孩子容易。
6.哈夫曼树中不存在度为1的结点。
14.下面4种排序方法中,属于稳定的排序方法是_________排序和_________排序。
A.堆B.基数C.快速D.起泡
15.在线性表中元素很多,且各元素已有序排列的情况下,执行_______排序或_________排序,排序码比较次数最多。
A.简单选择B.堆C.归并D.堆
四.图表题(每小题4分,共8分)
9.对n个顶点的带权连通图来说,它的最小生成树是指图中任意一个由n-1条__________。
A.权值最小的边构成的子图B.权值之和最小的边构成的子图C.权值之和最小的边构成的连通子图D.权值之和最小的边构成的无环子图
相关文档
最新文档