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

合集下载

长沙理工大学数据结构模拟试卷2及答案

长沙理工大学数据结构模拟试卷2及答案

长沙理工大学数据结构模拟试卷2一、填空题(每空1分,共10分)1.顺序存储结构中数据元素之间的逻辑关系是由存储位置表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。

2.非空的单循环链表由头指针head指示,则其尾结点(由指针p所指)满足()。

3.n个顶点的连通图用邻接矩阵表示时,该矩阵至少有()个非零元素。

4.()可作为实现递归函数调用的一种数据结构。

5.由权值为{3, 8, 6, 2, 5}的叶子结点生成一棵哈夫曼树,其带权路径长度为()。

6.设S="I_ am_ a_ teacther",其长度为()。

7.稀疏矩阵一般压缩存储方法有两种,分别是()和()。

8.分块有序是指将文件划分为若干块,()无序,()有序。

二、判断题(你认为正确的请打对,错误的打错。

每题2分,共10分)1.线性表的顺序存储结构优于链接存储结构。

2.B—树是一种动态索引结构,它既适用于随机查找,也适用于顺序查找。

3.在线索二叉树中,任一结点均有指向其前趋和后继的线索。

4.用一维数组存储二叉树时,总是以前序遍历存储结点。

5.在索引顺序表上采用分块查找,在等概率情况下,其平均查找长度不仅与子表个数有关,而且与每一个子表中的对象个数有关。

三、单选题(请把你认为正确的答案填入括号内,每小题1分,共10分)1.假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。

则表示该遗产继承关系的最合适的数据结构应该是()。

A 树B 图C 线性表D 集合2.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印缓冲区,该缓冲区应该是一个()结构。

A 栈B队列 C 数组D线性表3.若某线性表经常的操作是取第i 个元素和找第i个元素的前趋,则采用()存储方法最节省时间。

A 顺序表B 单链表C 双链表D 单循环链表4.广义表(a, b, (c, (d)))的表尾是()。

《数据结构》全真模拟试题二与解答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二、判断题(判断下列各题是否正确,正确在括号内打“√”,错的打“×”。

数据结构-试卷二及答案

数据结构-试卷二及答案

数据结构-试卷二及答案一、判断(每小题 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参考答案

数据结构测试2参考答案

参考答案:一、选择题1. C2.D 3、D 4、A 5、A 6、D 7、B 8、C 9、D 10、D11、D 12、B 13、C 14 C 15.B 16.C 17.C 18.B 19.B 20.C二、填空题1、操作受限、后进先出、先进先出2、bc 23、top--4、d5、n-16、4 7.LOC (A[0][0])+(n*i+j)*k三、判断题1、√2、√3、×4、√5、×6、√7、√8、×9、√ 10、√四.算法分析题1、stack 2. 算法功能是借助于栈将队列中的元素逆置五、算法填空题LNode *MergeSort(LNode *A,LNode *B) // 归并两个带头结点的递增有序表为一个带头结点递减有序表{LNode *pa , *pb , *q , *C ;pa=A->next;//pa指向A表开始结点C=A;C->next=NULL;//取A表的表头建立空的C表pb=B->next;//pb指向B表开始结点free(B);//回收B表的头结点空间while(pa&&pb){if (pb->data>pa->data) // 当A中的元素小于等于B中当前元素时,将pa表的开始结点摘下{ q=pa;pa=pa->next; }else// 当B中的元素大于A中当前元素时,将pb表的开始结点摘下{ q=pb;pb=pb->next;}q->next=C->next;C->next=q;//将摘下的结点q作为开始结点插入C表}while(pa){//若pa表非空,则处理pa表q=pa;pa=pa->next;q->next=C->next;C->next=q;}while(pb){//若pb表非空,则处理pb表q=pb;pb=pb->next;q->next=C->next;C->next=q;}return(C);}。

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

数据结构模拟试题二及答案
(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.算法是解决特定问题的操作序列,可以用多种方式描述。

程序是算法在计算机中的实现,与具体的计算机语言有关。

2.主要与哈希函数、装填因子α有关。

如果用哈希函数计算的地址分布均匀,则冲突的可能性较小,如果装填因子α较小,则哈希表较稀疏,发生冲突的可能性较小。

3.图中结点可能有多个前驱,设置访问标志数组主要是为了避免重复访问同一个结点。

4.头指针指向头结点,头结点的后继域指向首元素结点。

5.当队尾到达数组最后一个单元时,就认为队满,但此时数组前面可能还有空单元,因此叫假溢出。

解决的方法是采用循环队列,即令最后一个单元的后继是第一个单元。

二判断题1.(√) 2.(×)3.(×)4.(√) 5.(×)6.(√) 7.(×) 8.(√) 9.(×) 10.(×)三单项选择题1. D 2.B 3.C 4. C 5. B 6. A 7.C 8.D 9. C 10.C 四填空题1. high low low high2. S->next=R->next ; R->next=S ;3.时间空间4. A[2, 3]5. 2h-1五构造题1.(4分)2.(6分)ASL= ( 1×4 + 2×2 + 3 ) / 7 = 11 / 7succ3.(6分)4.(4分)已知权值集合为:{ 5,7,2,3,6,9 },要求给出哈夫曼树,并计算其带权路径长度WPL。

WPL = 2×( 9 + 6 + 7 ) + 3×5 + 4×( 2 + 3 ) = 79六算法分析题解:(1)在二叉排序树中插入关键字为K的结点(2) h = log2 ( n+1 ) 或 h = [ log2n ] + 1 (方括号表示向下取整)(3)O ( log2 ( n+1 ) ) 或 O ( log2n )七算法设计题略。

数据结构(第二版)模拟测试题4套及答案

数据结构(第二版)模拟测试题4套及答案

试卷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时,经过( )次比较后查找成功。

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

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

数据结构模拟试卷(一)及参考答案一.单项选择题(本大题共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 分,共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.数据的逻辑结构被分为_________、________、__________和___________四种。

计算机专业基础综合(数据结构)模拟试卷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解析:解析:此题考查的知识点是入栈的具体操作。

数据结构模拟2--带答案

数据结构模拟2--带答案

数据结构模拟题2一、判断题。

判断下列各题是否正确,若正确,在答题卡中涂“A”,否则涂“B”。

1.线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

Χ2.线性表的链式存储结构优于顺序存储结构。

Χ3.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

Χ4.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。

Χ5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。

Χ6.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

√7.在循环队列中,元素的个数为rear-front。

Χ8.完全二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。

√9.邻接表存储结构只用于有向图的存储,邻接矩阵对有向图和无向图的存储都适用。

Χ10.连通分量是无向图中的极小连通子图。

Χ11.没有回路的图能进行拓扑排序。

√12.生成树指的是图的极大连通子图。

Χ13.采用折半查找法对有序表进行查找总比采用顺序查找法对其进行查找要快。

Χ14.采用线性探测法处理冲突时,当从哈希表中删除一个记录时,不应将这个记录的所在位置的数据置空,因为这样会影响以后的查找。

√15.对于给定的关键字集合,以不同的次序插入到初始为空的二叉排序树中,得到的二叉排序树是相同的。

Χ二、单选题。

1.数据结构可以分为三大类,它们是【】、树和图。

AA、线性表B、栈和队列C、链表D、顺序表2.下列程序段的时间复杂度为【】。

Afor(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)3.若线性表的最常用的操作是存取第i 个元素及其前驱元素的值,则采用【 】存储方式最省时间。

《数据结构》期末模拟试卷及参考答案【十套】

《数据结构》期末模拟试卷及参考答案【十套】

《数据结构》模拟试卷及参考答案模拟试卷一一、单选题(每题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.数据的物理结构被分为_________、________、__________和___________四种。

2023年数据结构模拟考试及答案

2023年数据结构模拟考试及答案

数据结构模拟考试(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 100分)1、一棵具有 n 个结点的完全二叉树的树高度(深度)是( A )A、「log2n」+1B、log2n+1C、「log2n」D、log2n-12、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为A、O(n)B、O(0)C、O(1)D、O(n^2)3、一个顺序栈S,空栈时top的初始值为0,其栈顶指针为top,则将元素e入栈的操作是( )。

A、*S->top=e;S->top++;B、S->top++;*S->top=e;C、*S->top=eD、S->top=e;4、下列几种排序方法中要求辅助空间最大的是( )A、堆排序B、直接选择排序C、归并排序D、快速排序5、给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,冒泡排序(大数下沉)的第一趟排序结果应为A、{B,F,C,J,A,E,D,I,C,H}B、{C,B,D,A,E,F,I,C,J,H}C、{B,F,C,E,A,I,D,C,H,J}D、{A,B,D,C,E,F,I,J,C,H}6、对含有 10 个数据元素的有序查找表执行折半查找,当查找失败时,至少需要比较( )次。

A、2B、3C、4D、57、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。

A、r-fB、(n+f-r)%nC、n+r-fD、(n+r-f)%n8、若长度为 n 的线性表采用顺序存储结构,访问其第 i 个元素的算法时间复杂度为()A、0 ( 1 )B、0 ( n )C、0 ( n2 )D、0 ( log2n )9、(6分)若希望1000个无序元素中尽快求得前10个最大元素,应借用(A)。

《数据结构》模拟试题与参考答案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.串是一种特殊的线性表,其特殊性体现在()。

国家二级C语言机试(数据结构与算法)模拟试卷2(题后含答案及解析)

国家二级C语言机试(数据结构与算法)模拟试卷2(题后含答案及解析)

国家二级C语言机试(数据结构与算法)模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。

A.9B.10C.45D.90正确答案:C解析:在最坏情况下,冒泡排序的时间复杂度为n(n-1)/2,为45,答案选C。

知识模块:数据结构与算法2.下列叙述中正确的是()。

A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关正确答案:B解析:算法的时间复杂度是指执行算法所需要的计算工作量,与数据的存储结构有关,与算法的空间复杂度没有关系。

数据的逻辑结构与存储位置无关,即与存储结构无关,所以选择B。

知识模块:数据结构与算法3.下列叙述中正确的是()。

A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D.以上说法都不对正确答案:C解析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的,所以选择C。

知识模块:数据结构与算法4.某二叉树共有12个结点,其中叶子结点只有1个。

则该二叉树的深度为(根结点在第1层)()。

A.3B.6C.8D.12正确答案:D解析:根据二叉树的性质,叶子结点比度为2的结点个数多一个,叶子结点只有1个,那么度为2的结点为0个,可以得出共有11个度为1的结点,那么该二叉树每一层上只能有一个结点,共12层,即深度为12。

知识模块:数据结构与算法5.对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。

A.nB.n-1C.n(n-1)D.n(n-1)/2正确答案:D解析:在最坏情况下,快速排序需要比较n(n-1)/2次。

数据结构模拟题贰_答案

数据结构模拟题贰_答案

一、选择题(共20分,共10题,每题2分)1. 关于顺序表的叙述错误的是(D )。

A.要占用连续存储空间 B.单个数据所需内存空间比链表少C.随机存取功能比链表强D.插入与删除不需要移动大量元素2. 在线索化二叉树中,T所指结点没有左子树的充要条件是( B )。

A. T->Lchild=NULLB. T->LTag=1C. T->RTag=0D. T->RTag=13. 能够在AOE网络中计算源点到汇点最长路径的算法是( A )。

A. 关键路径算法B. 深度优先搜索C. 拓扑排序D. Prim4. 在长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(等概率情况下)为( C )。

A. nB. n/2C. (n+1)/2D. (n-1)/25. 以下排序算法中不稳定的是(B )。

A. 冒泡排序B. 希尔排序C. 直接插入排序D. 归并排序6. 若长度为n的线性表采用顺序存储结构,删除表中1个数据元素的平均算法时间复杂度是( A )。

A. O( (n-1)/2 )B. O( (n+1)/2 )C. O( (n2-1)/2 )D. O( (n+1)/2 )7. 下列几种二叉树中任意交换其左右子树仍然保持性质不变的是( A )。

A. 最优二叉树B.排序二叉树C. 平衡二叉树D. 以上都不是8. 下面的说法中,正确的是( A )。

A. 全源最短路径Floyd算法非常类似矩阵的自乘运算B. 从源点到终点的最短路径是唯一的C. 无向图最小生成树权值之和一定小于其它生成树权值之和D. 任意一个AOV网中的关键路径是唯一的9. 希尔排序的时间复杂度是( D )。

A. O( n·log n )B. O( n2·log n )C. O(n2)D. 以上都不是10. 根据大顶堆的定义,下列四个序列中,是一个堆积的是( C )。

A. 7565301525452010B. 7565451030252015C. 7545653015252010D. 7545651025302015二、填空题(共20分,共5题,每空2分)1.为了区分循环队列判空的条件,循环队列判满的方法有计数器法、设置标志位法、牺牲一个存储单元法。

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

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

数据结构模拟试题(含答案)一、单选题(共100题,每题1分,共100分)1、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。

A、5B、6C、7D、4正确答案:B2、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。

A、15B、47C、16D、17正确答案:C3、设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。

A、100B、99C、102D、101正确答案:A4、一棵含18个结点的二叉树的高度至少为( )A、5B、4C、6D、3正确答案:A5、有关栈的描述,正确的是()A、栈是一种先进先出的特殊的线性表B、只能从栈顶执行插入、删除操作C、只能从栈顶执行插入、栈底执行删除D、栈顶和栈底均可执行插入、删除操作正确答案:B6、若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()A、中序遍历算法B、前序遍历算法C、后序遍历算法D、层次遍历算法正确答案:A7、若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是( ) typedef struct node { char data[8]; struct node *next; } LinkStrNode;A、s->next=p; p->next=s->next;B、s->next=p->next; p->next=s;C、p->next=s->next; s->next=p;D、p->next=s; s->next=p->next;正确答案:B8、在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。

A、O(n)B、O(1)C、O(n2)D、O(n/2)正确答案:A9、执行一趟快速排序能够得到的序列是()。

A、[45,34,12,41] 55 [72,63,27]B、[63,12,34,45,27] 55 [41,72]C、[12,27,45,41] 55 [34,63,72]D、[41,12,34,45,27] 55 [72,63]正确答案:D10、带权有向图G用邻接矩阵A存储,则顶点i 的入度等于A中()。

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

模拟试卷一一、单选题(每题 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的叶子生成一棵哈夫曼树,它的带权路径长度为( )。

A. 11 B.35 C. 19 D. 53图一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、FD. 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.数据的物理结构被分为_________、________、__________和___________四种。

2.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。

3.向一个由HS指向的链栈中插入一个结点时p时,需要执行的操作是________________;删除一个结点时,需要执行的操作是______________________________(假设栈不空而且无需回收被删除结点)。

4.对于一棵具有n个结点的二叉树,一个结点的编号为i(1≤i≤n),若它有左孩子则左孩子结点的编号为________,若它有右孩子,则右孩子结点的编号为________,若它有双亲,则双亲结点的编号为________。

5.当向一个大根堆插入一个具有最大值的元素时,需要逐层_________调整,直到被调整到____________位置为止。

6.以二分查找方法从长度为10的有序表中查找一个元素时,平均查找长度为________。

7.表示图的三种常用的存储结构为_____________、____________和_______________。

8.对于线性表(70,34,55,23,65,41,20)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有________个,散列地址为6的有_______个。

9.在归并排序中,进行每趟归并的时间复杂度为______,整个排序过程的时间复杂度为____________,空间复杂度为___________。

10.在一棵m阶B_树上,每个非树根结点的关键字数目最少为________个,最多为________个,其子树数目最少为________,最多为________。

三、运算题(每题 6 分,共24分)1.写出下列中缀表达式的后缀形式:(1)3X/(Y-2)+1(2)2+X*(Y+3)2.试对图2中的二叉树画出其:(1)顺序存储表示的示意图;(2)二叉链表存储表示的示意图。

3.判断以下序列是否是小根堆? 如果不是, 将它调整为小根堆。

图2(1){ 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 }(2){ 05, 23, 20, 28, 40, 38, 29, 61, 35, 76, 47, 100 } 4.已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7};E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4, (4,7)20,(5,6)18,(6,7)25};按照普里姆算法从顶点1出发得到最小生成树,试写出在最小生成树中依次得到的各条边。

四、阅读算法(每题7分,共14分)1.void AE(Stack& S){InitStack(S);Push(S,3);Push(S,4);int x=Pop(S)+2*Pop(S);Push(S,x);int i,a[5]={1,5,8,12,15};for(i=0;i<5;i++) Push(S,2*a[i]);while(!StackEmpty(S)) cout<<Pop(S)<<' ';}该算法被调用后得到的输出结果为:2.void ABC (BTNode *BT,int &c1,int &c2) {if (BT !=NULL ) {ABC(BT->left,c1,c2);c1++;if (BT->left==NULL&&BT->right==NULL) c2++;ABC(BT->right,c1,c2);}//if}该函数执行的功能是什么?五、算法填空(共8分)向单链表的末尾添加一个元素的算法。

Void InsertRear(LNode*& HL,const ElemType& item){LNode* newptr;newptr=new LNode;If (______________________){cerr<<"Memory allocation failare!"<<endl;exit(1);}________________________=item;newptr->next=NULL;if (HL==NULL)HL=__________________________;else{LNode* P=HL;While (P->next!=NULL)____________________;p->next=newptr;}}六、编写算法(共8分)编写从类型为List的线性表L中将第i个元素删除的算法,(假定不需要对i的值进行有效性检查,也不用判别L是否为空表。

)void Delete(List& L, int i)模拟试卷一参考答案一、单选题(每题2分,共20分)1.B2.D3.A4.B5.B6.C7.A8.C9.B 10.B二、填空题(每空1分,共26分)1.顺序链表索引散列2.O(n) O(1)3.p->next=HS;HS=p HS=HS->next4.2i 2i+1 ⎣i/2⎦(或i/2)5.向上根6. 2.97.邻接矩阵邻接表边集数组8. 1 49.O(n) O(nlog2n) O(n)10.⎡m/2⎤-1 m-1 ⎡m/2⎤ m三、运算题(每题6分,共24分)1.(1) 3 X * Y 2 - / 1 +(2) 2 X Y 3 + * +图32.(1)3.(1)不是小根堆。

调整为:{12,24,33,65,34,56,48,92,86,70}(2)是小根堆。

4.普里姆算法从顶点1出发得到最小生成树为:(1,2)3, (1,3)5, (1,4)8, (4,6)4, (2,5)10, (4,7)20四、阅读算法(每题7分,共14分)1.30 24 16 10 2 102.该函数的功能是:统计出BT所指向的二叉树的结点总数和叶子总数五、算法填空(共8分,每一空2分)newptr==NULL newptr->=data newptr p=p->next六、编写算法(8分)void Delete(List& L, int i){for(int j=i-1;j<L.size-1; j++)L.list[j]=L.list[j+1]; //第i个元素的下标为i-1 L.size--;}。

相关文档
最新文档