数据结构模拟试题3
数据结构模拟试卷及参考答案
![数据结构模拟试卷及参考答案](https://img.taocdn.com/s3/m/5d245e2d0b4c2e3f57276352.png)
数据结构模拟试卷(一)及参考答案一.单项选择题(本大题共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.16 C.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)。
数据结构与算法 模拟试卷三四及参考答案
![数据结构与算法 模拟试卷三四及参考答案](https://img.taocdn.com/s3/m/1e71765e312b3169a451a4ac.png)
一、单选题(每题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,则下列序列中不可能是栈的输出序列的是( )
数据结构 模拟试题3 参考答案
![数据结构 模拟试题3 参考答案](https://img.taocdn.com/s3/m/b16d586bf5335a8102d2204a.png)
数据结构模拟试题3 参考答案一、填空题1.设计良好的程序结构;函数名及变量名的命名规范化;使用合理的注释2.O(log10N)3.只存储非零元素(三元组表,十字链表)4.(rear+m-qulen+2) mod (m+1)5.(13,38,28,50,77,66,50,98)6.return s[i]-t[i]return strlen(s)-strlen(t)7.p=head->nextp=p->nextreturn length二、解答:1. Huffman算法:求Huffman树(带权路径长度最短的二叉树)Dijkstra算法:求图中从某个源点到其余各顶点的最短路径Prim算法:求最小生成树Kruskal算法:求最小生成树2. 选择排序不稳定举例:{256256*512128}i=1{128256*512256}i=2{128256*512256}i=3{128256*256512}256和256*在排序前后相对位置发生变化,所以说选择排序是不稳定的。
3.4.举例:5.Hash表如下查找成功情况下的平均查找长度为(3+4+4+4+1+2+2+1+1+2)/10=2.46.快速排序,堆排序,归并排序以归并排序说明:假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列;再两两归并,……,如此重复,直至得到一个长度为n的有序序列为止.举例如下:三、解答:typedef struct BiTNode{TelemType data;struct BiTNode *lchild, *rchild;}BiTNode,*BiTree;Status SearchBST(BiTree T,KeyType key,BiTree f,BiTree &p){if(!T){p=f;return FALSE;}else if EQ(key,T->data.key){p=T;return TRUE;}else if LT(key,T-> data.key) SearchBST(T->lchild,key,T,p);else if SearchBST(T->rchild,key,T,p);}Staus InsertBST(BiTree &T,ElemType e){if(!SearchBST(T,e.key,NULL,p){s=(BiTree)malloc(sizeof(BiTNode));s->data=e;s->lchild=s->rchild=NULL;if(!p) T=s;else if LT(e.key,p->data.key)p->lchild=s;else p->rchild=s;return TRUE;}else return FALSE;}从空树出发,经过一系列的查找插入操作之后,可生成一棵二叉树. main(){BiTree BiT=NULL;int elememt;scanf(“%d”,&element);while(element!=9999){InsertBST(BiT,element);scanf(“%d”,&element);}}typedef struct BiTNode{TelemType data;struct BiTNode *left, *right;int bal;}BiTNode,*BiTree;int computbal(BiTree bt){int hl, hr, max;if(bt==NULL) return(0);else {hl=computbal(bt->LChild);/* 求左子树的深度 */hr=computbal(bt->RChild);/* 求右子树的深度 */bt->bal=hl-hr;/*求出平衡因子*/max=hl>hr?hl:hr;/* 得到左、右子树深度较大者*/return(max+1);/* 返回树的深度 */}}void BFSTraverse(Graph G,Status (*visit)(int v)){for (v=0;v<G.vexnum;++v) visited[v]=FALSE;InitQueue(Q);for(v=0;v<G.vexnum;++v)if(!visited[v]){Visit(v);visited[v]=TRUE;EnQueue(Q,v);while(!QueueEmpty(Q)){DeQueue(Q,u);for(w=FirstAdjVex(G,u);w;w=NextAdjVex(G,u,w))if(!Visited[w]){Visit(w);visited[w]=TRUE;EnQueue(Q,w);}}}}。
数据结构模拟试题三及答案
![数据结构模拟试题三及答案](https://img.taocdn.com/s3/m/3e2e50140b4e767f5acfce63.png)
数据结构模拟试题三一.判断题(每小题1 分,共10分)1.逻辑结构不同的数据,要采用不同的存储方法来存储。
2.单链表中的结点只有后继,没有前驱。
3.栈和队列具有相同的逻辑特性。
4.二叉树中结点之间的相互关系不能用二元组来表示。
5.关键路径是由权值最大的边构成的。
6.在表示矩阵的三元组顺序表中,各元素的排列顺序与矩阵元素值的大小无关。
7.在广义表中,每个原子必须是单个字符。
8.在平衡二叉排序树中,每个结点的平衡因子值是相等的。
9.只有在线性表的初始状态为逆序排列的情况下,起泡排序过程中,元素的移动次数才会达到最大值。
10.在B+树上可以进行顺序查找。
二.填空题(每空1分,共10分)1.若用不带表头结点的单链表来表示链接队列,则只有在________情况下,插入操作既要修改队尾指针的值,也要修改队头指针的值;只有在________情况下,删除操作仅需修改队首指针的值,不需修改队尾指针的值。
2.无向图中边的数目等于邻接矩阵中___________。
3.在各元素查找概率相等的情况下,在含有12个元素的二叉排序树上查找其中一个元素,元素间的平均比较次数至少是____次,至多是____次。
4.对12个元素进行快速排序,排序码的比较次数最多是___次。
5.对B+树来说,若某个非根分支结点中有6个关键字,则在它的某个孩子结点中至少有_____个关键字,至多有_____个关键字。
6.如果在根结点中要查到要找的关键字,则对于B-树来说,下一步应该_________,而对于B+树来说,下一步应该_________。
三.单选题(每题2分,共20分)1.线性结构采用链式存储,________。
A.对插入、删除结点的操作较为有利B.不利于进行顺序访问C.逻辑上相邻的结点在存储器中也相邻D.可以用一些不连续的存储区域来存放一个结点2. 某算法的时间复杂度为O(2n),表明该算法的________。
A.执行时间与2n成正比B.执行时间等于2nC.问题规模是2n D.问题规模与2n成正比3. 在长度为n的_________上,删除最后一个元素,其算法的时间复杂度是O(n)。
2020年考研计算机数据结构模拟试题及答案(三)
![2020年考研计算机数据结构模拟试题及答案(三)](https://img.taocdn.com/s3/m/abb438ae336c1eb91b375db1.png)
2020年考研计算机数据结构模拟试题及答案(三)一、选择题(30分)1. 1. 字符串的长度是指( )。
(A) 串中不同字符的个数 (B) 串中不同字母的个数(C) 串中所含字符的个数 (D) 串中不同数字的个数2. 2. 建立一个长度为n的有序单链表的时间复杂度为( )(A) O(n) (B) O(1) (C) O(n2) (D) O(log2n)3. 3. 两个字符串相等的充要条件是( )。
(A) 两个字符串的长度相等 (B) 两个字符串中对应位置上的字符相等(C) 同时具备(A)和(B)两个条件 (D) 以上答案都不对4. 4. 设某散列表的长度为100,散列函数H(k)=k % P,则P通常情况下选择( )。
(A) 99 (B) 97 (C) 91 (D) 935. 5. 在二叉排序树中插入一个关键字值的平均时间复杂度为( )。
(A) O(n) (B) O(1og2n) (C) O(nlog2n) (D) O(n2)6. 6. 设一个顺序有序表A[1:14]中有14个元素,则采用二分法查找元素A[4]的过程中比较元素的顺序为( )。
(A) A[1],A[2],A[3],A[4] (B) A[1],A[14],A[7],A[4](C) A[7],A[3],A[5],A[4] (D) A[7],A[5] ,A[3],A[4]7. 7. 设一棵完全二叉树中有65个结点,则该完全二叉树的深度为( )。
(A) 8 (B) 7 (C) 6 (D) 58. 8. 设一棵三叉树中有2个度数为1的结点,2个度数为2的结点,2个度数为3的结点,则该三叉链权中有( )个度数为0的结点。
(A) 5 (B) 6 (C) 7 (D) 89. 9. 设无向图G中的边的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发实行深度优先遍历能够得到的一种顶点序列为( )。
数据结构试卷3答案
![数据结构试卷3答案](https://img.taocdn.com/s3/m/38a1cbcfac51f01dc281e53a580216fc700a538c.png)
数据结构试题3参考答案一、单项选择题(本大题共15小题,每小题2分,共30分) 1.D 2.B3.C4.B5.D6.A 7.C8,D9,A10.C11.D 12.C13.D 14.C15.B二、填空题(本大题共10小题,每小题2分,共20分) 16.存储(或存储结构)17.p ->next ->next18.进栈和退栈.进栈和退栈19.12 12 2020.A[4][8] 21.384 22.abefcdg 23.快速排序、堆排序、希尔排序24.2.2 25.多关键字多关键字三、解答题(本大题共4小题,每小题5分,共20分) 26.(1)对第一结点的操作和其他结点一样,无须特殊处理。
((2)空表和非空表的处理相统一了。
)空表和非空表的处理相统一了。
27.28.该图的图形为:该图的图形为:深度优先遍历序列为:深度优先遍历序列为:abdce abdce广度优先遍历序列为:广度优先遍历序列为:abedc abedc2929..(1)对关键字3535、、2020、、33和48进行查找的比较次数为3、2、1、1;1、1;(2)平均查找长度(2)平均查找长度59521123=++++=ASL四、算法阅读题(本大题共4小题,每小题5分,共20分) 30. ①S1=S1->next ②s2=s2->next ③s2(或s2!=NULL 或s2&&!s1) ④s1(或s1!=NULL 或s1&&!s2) ⑤return 0 31.(1)查询链表的尾结点)查询链表的尾结点(2)将第一个结点链接到链表的尾部,作为新的尾结点)将第一个结点链接到链表的尾部,作为新的尾结点 (3)返回的线性表为(a 2,a 3,…,a n ,a 1)32. ①(i+1)%2(或1-i) ②Q->rear[i] ③(Q->rear[i]+)%Maxsize 33.(1)Leafhead F H G D ∧(2)中序遍历二叉树,按遍历序列中叶子结点数据域的值构建一个以Leafhead为头指针的逆序单链表(或按二叉树中叶子结点数据自右至左链接成一个链表)。
3套数据结构模拟题及答案
![3套数据结构模拟题及答案](https://img.taocdn.com/s3/m/1d4bc0a671fe910ef12df84d.png)
数据结构模拟题(一)一、单选题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.5B.6C.7D.8二、填空题1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
数据结构模拟题3(无答案)
![数据结构模拟题3(无答案)](https://img.taocdn.com/s3/m/392215246d85ec3a87c24028915f804d2b16876c.png)
数据结构模拟题3(无答案)模拟试题3一.选择题1.当初始序列已按健值有序时,用直接插入算法进行排序,需要比较的次数为()A.n-1B.log2nC. 2log2nD.n22.以下时间复杂性不是O(n2)的排序方法是( )A.直接插入排序B.二路归并排序C.冒泡排序D.直接选择排序3..对采用二分查找法进行查找运算的查找表,要求按()方式进行存储。
A.顺序存储 B 链式存储C.顺序存储且结点按关键字有序D.链式存储且结点按关键字有序4.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。
A.2B. 3C. 4D. 125.静态查找表与动态查找表两者的根本差别在于( )…………………………………………….A.逻辑结构不同B.存储实现不同C.施加的操作不同D.数据元素的类型不同6.用顺序查找法对具有n个结点的线性表查找的时间复杂性量级为A.O(n2)B. O(nlog2n)C. O(n)D.O(log2n)7.设有6个结点的无向图,该图至少应有()条边能确保是一个连通图。
A. 5B. 6C. 7 D 88.在无向图中,所有顶点的度数之和是所有边数的()倍。
A.0.5B.1C.2D.49.深度为6的二叉树最多有( )个结点.A.64B.63C.32D.3110.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为 ( )A.42B.40C.21D.2011.已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是()A.acbedB.deabcC.decabD.cedba12.设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序( )A.都不相同B.完全相同C.先序和中序相同,而与后序不同D.中序和后序相同,而与先序不同13.如果以链表作为栈的存储结构,做退栈操作时( )A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对栈不做任何操作14.链栈与顺序栈相比,有一个比较明显的优点即()A.插入操作更方便B. 通常不会出现栈满的情况C.不会出现栈空的情况D. 删除操作更方便15.线性结构中的一个结点代表一个()A. 数据元素B. 数据项C. 数据D. 数据结构二.填空题1.若待排序的序列中存在多个记录具有相同的键值,经过排序,这些记录的相对次序仍然保持不变,则称这种排序方法是________的,否则称为________的。
《数据结构》模拟试题综合测试题带答案 (3)
![《数据结构》模拟试题综合测试题带答案 (3)](https://img.taocdn.com/s3/m/6dc21a67dcccda38376baf1ffc4ffe473368fdb9.png)
《数据结构》模拟试题03一、单项选择题(每题 2 分,共30分)1.算法指的是( )A .计算机程序B .解决问题的计算方法C .排序算法D .解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址( ) A .必须是不连续的 B .连续与否均可 C .必须是连续的D .和头结点的存储地址相连续3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为( ) A .O (1) B .O (n ) C .O (m ) D .O (m+n ) 4.由两个栈共享一个向量空间的好处是:( ) A .减少存取时间,降低下溢发生的机率 B .节省存储空间,降低上溢发生的机率 C .减少存取时间,降低上溢发生的机率 D .节省存储空间,降低下溢发生的机率5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针front 值为( )A .front=front+1B .front=(front+1)%(m-1)C .front=(front-1)%mD .front=(front+1)%m 6.如下陈述中正确的是( )A .串是一种特殊的线性表B .串的长度必须大于零C .串中元素只能是字母D .空串就是空白串7.若目标串的长度为n ,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )A .O (n3) B .O (n ) C .O (n2) D .O (n3)8.一个非空广义表的表头( )A .不可能是子表B .只能是子表C .只能是原子D .可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是( )5A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( ) A.4 B.5 C.6 D.711.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e12.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是( )A.O(n) B.O(e) C.O(n+e) D.O(n*e)13.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序14.适于对动态查找表进行高效率查找的组织结构是()A.有序表B.分块有序表C.三叉排序树D.线性链表15.不定长文件是指()A.文件的长度不固定B.记录的长度不固定C.字段的长度不固定D.关键字项的长度不固定二、填空题(每题2分,共20分)1.数据的逻辑结构是从逻辑关系上描述数据,它与数据的无关,是独立于计算机的。
数据结构模拟试题与答案3
![数据结构模拟试题与答案3](https://img.taocdn.com/s3/m/a10daeba83d049649b66585e.png)
《数据结构》模拟试题3一、单项选择题1.带头结点的单向链表为空的判断条件是()(设头指针为head)。
A.head = =NULL B.head!=NULLC.head->next= =head D.head->next= =NULL2.非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。
A.p->next = =NULL B.p= =NULL C.p= =head D.p->next= =head3.算法的时间复杂度与()有关。
A.所使用的计算机B.计算机的操作系统C.算法本身D.数据结构4.设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为()。
A.n-i+1 B.n-i C.n-i-1 D.i5.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
A.p=s→next B.p→next=s→next;C.s→next=p→next; p→next=s; D.p→next= s; s→next= p→next6.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。
A.r=f→next; B.r=r→next; C.f=f→next; D.f=r→next;7.元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。
A.7,5,3,1 B.7,5,1,3C.3,1,7,5 D.1,3,5,78.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。
A.4 B.3 C.6 D.129.在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为()。
A.2i B.2i-1 C.2i+1 D.2i+210.一棵具有35个结点的完全二叉树,最后一层有()个结点。
A.4 B.6 C.16 D.811.在一个无向图中,所有顶点的度数之和等于边数的()倍。
A.3 B.2 C.2.5 D.1.512.已知如图3所示的一个图,若从顶点V1出发,按广度优先法进行遍历,则可能得到的一种顶点序列为()。
数据结构模拟试卷和答案
![数据结构模拟试卷和答案](https://img.taocdn.com/s3/m/c2478cf7ddccda38376baff9.png)
北京语言大学网络教育学院《数据结构》模拟试卷一注意: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、对一棵二叉排序树进行()遍历,可以得到该二叉树的所有结点按值从小到大排列的序列。
数据结构期末模拟试题03(有答案)
![数据结构期末模拟试题03(有答案)](https://img.taocdn.com/s3/m/4f3c33bc783e0912a2162ae8.png)
数据结构期末模拟试题03(有答案)吉首大学试题库课程测试试题(卷)----------------------以下为教师填写--------------------I、命题院(部):数学与计算机科学学院II、课程名称:数据结构III、测试学期:20 -20 学年度第学期IV、测试对象:学院专业级班V、问卷页数(A4):页VI、答卷页数(A4):页VII、考试方式:闭卷(开卷、闭卷或课程小论文,请填写清楚)VIII、问卷内容:(请老师在出题时安排紧凑,填空题象征性的留出一点空格,学生将所有的答案做在答题纸上的规定位置,并写清楚大题、小题的题号)一、单选题(每小题2分,共8分)1、在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(即x与元素的平均比较次数,假定查找每个元素的概率都相等)为( )。
A nB n/2C (n+1)/2D (n-1)/22、在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行( )。
A s→link=p→link; p→link=s;B p→link=s; s→link=q;C p→link=s→link; s→link=p;D q →link=s; s→link =p; 3、栈的插入和删除操作在()进行。
A 栈顶B 栈底C 任意位置D 指定位置4、由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()A 24B 71C 48D 53 二、填空题(每空1分,共32分)1、数据的逻辑结构被分为__________、___________ 、________和________四种。
2、一种抽象数据类型包括______________和_____________两个部分。
3、在下面的数组a中链接存储着一个线性表,表头指针为a[o].next,则该线性表为_________________________________________________。
数据结构练习试卷3(题后含答案及解析)
![数据结构练习试卷3(题后含答案及解析)](https://img.taocdn.com/s3/m/84844607a58da0116d17498c.png)
数据结构练习试卷3(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
1.二叉树(1)。
在完全的二叉树中,若一个结点没有(2),则它必定是叶结点。
每棵树都能唯一地转换成与它对应的二叉树。
由树转换成的二叉树里,一个结点N的左子结点是N在原树里对应结点的(3),而N的右子结点是它在原树里对应结点的(4)。
A.是特殊的树B.不是树的特殊形式C.是两棵树的总称D.是只有两个根结点的树形结构正确答案:B 涉及知识点:数据结构2.A.左子结点B.右子结点C.左子结点或者没有右子结点D.兄弟正确答案:A 涉及知识点:数据结构3.A.最左子结点B.最右子结点C.最邻近的右兄弟D.最邻近的左兄弟正确答案:A 涉及知识点:数据结构4.A.最左子结点B.最右子结点C.最邻近的右兄弟D.最邻近的左兄弟正确答案:C解析:树是结点的有限集合,它有且仅有1个根结点。
二叉树有0个或1个根结点,二者是两个不同的概念。
所以,第1空的正确答案为选项B。
在完全二叉树中,如果一个结点没有左子结点,那么必然没有右子结点,所以就一定是叶结点。
第2空的正确答案为选项A。
树中每个结点最多只有一个最左边的孩子(长子)和一个右邻的兄弟。
按照这种关系很自然地就能将树转换成相应的二叉树:①在所有兄弟结点之间加一连线;②对每个结点,除了保留与其长子的连线外,去掉该结点与其他孩子的连线。
因为树根没有兄弟,所以,树转换为二叉树之后,二叉树的根结点的右子树必然为空。
在由树转换成的二叉树中,一个结点N的左一个结点N的左子结点是N在原树里对应结点的最左子结点,而N的右子结点是它在原树里对应结点的最邻近的右兄弟。
所以,第3空的正确答案为选项A,第4空的正确答案为选项C。
知识模块:数据结构5.在一棵非空二叉树中,叶子节点的总数比度为2的节点总数多(43)个。
数据结构试题 试卷三 含答案
![数据结构试题 试卷三 含答案](https://img.taocdn.com/s3/m/d73b620bf78a6529647d53c5.png)
模拟试题三模拟试题三一、选择题(30分)1.下面程序的时间复杂度为( )。
for(i=O;i<m;i++)for(j=0;j<t;j++)c[i][j]=O;for(i=O;i<m;i++)for(j=O;j<t;j++)for(k=O;k< SPAN>c[i][j]=c[i][j]+a[i][k]b[k][j];A) O (mnt) B)0(m+n+t) C) O(m+nt) D)O(mt+n)2.从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动( )个元素。
A) n-i B) n-i+l C) n-i-l D)i3.串的逻辑结构与( )的逻辑结构不同。
A)线性表 B)栈 C)队列 D)树4.二叉树第i(i≥1)层最多有( )个结点。
A) 2i B) 2i C) 2i-l D) 2i-15.设单链表中指针p指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为( )。
A) p->next=p->next->next B) p=p->nextC) p=p->next->next D)p->next=p6.设一数列的输入顺序为l,2,3,4,5,6,通过栈操作不可能排成的输出序列为( )。
A)3,2,5,6,4,l B)l,5,4,6,2,3C)2,4,3,5,l,6 D)4,5,3,6,2,l7。
设字符串Sl=‘ABCDEFG’,S2=‘PQRST’,则运算S=Concat(Sub(S1,2,Length(S2))Sub(S1,Length(S2),2))后结果为( )。
A)‘BCQR' B)‘BCDEF'C)‘BCDEFG' D)‘BCDEFEF'8.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,all为第1个元素,其存储地址为1,每个元素占用1个地址空间,则a85的地址为( )A) 13 B) 33 C) 18 D) 409.如果结点A有3个兄弟,且B为A的双亲,则B的度为( )。
数据结构模拟试题附答案
![数据结构模拟试题附答案](https://img.taocdn.com/s3/m/6fa7b61fc281e53a5802fffc.png)
数据结构试卷(1)一、选择题(30分)1.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。
(A) 20 (B) 30 (C) 40 (D) 452.执行一趟快速排序能够得到的序列是()。
(A) [41,12,34,45,27] 55 [72,63](B) [45,34,12,41] 55 [72,63,27](C) [63,12,34,45,27] 55 [41,72](D) [12,27,45,41] 55 [34,63,72]3.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。
(A) head==0 (B) head->next==0(C) head->next==head (D) head!=04.时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是()。
(A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。
(A) 空或只有一个结点(B) 高度等于其结点数(C) 任一结点无左孩子(D) 任一结点无右孩子6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()。
(A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序7.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。
(A) 3 (B) 4 (C) 5 (D) 68.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。
(A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og2n)9.二路归并排序的时间复杂度为()。
(A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n)10. 深度为k的完全二叉树中最少有()个结点。
(A) 2k-1-1 (B) 2k-1(C) 2k-1+1 (D) 2k-111.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。
数据结构模拟试题
![数据结构模拟试题](https://img.taocdn.com/s3/m/f44b201a59eef8c75fbfb32b.png)
设内存有大小为6个记录的缓冲区供内排序使用,文件的关键字序列为{29,50,70,33,38,60,28,31,43,36,25,9,80,100,57,18,65,2,78,30,14,20,17,99),试列出:
(1)用内排序求出初始归并段;
(2)用置换一选择排序求初始归并段。
六、(本题8分)
对于序列{8,18,6,16,29,28},试写出堆顶元素最小的初始堆。
七、(本题8分)
一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。
先序序列:BFICEHG
中序序列:DKFIAEJC
后序序列:KFBHJGA
八、(每小题2分,共8分)
(3)( )不是队列的基本运算。
设有一个输入数据的序列是{46, 25, 78, 62, 12, 80 },试画出从空树起,逐个输入各个数据而生成的二叉搜索树。
九、(本题9分)
试画出表达式(a+b/c)*(d-e*f)的二叉树表示,并写出此表达式的波兰式表示,中缀表示及逆波兰式表示。
十、(本题15分)
以二叉链表作存储结构,试编写计算二叉树中叶子结点数目的递归算法。
模拟试题(三)
一、单项选择题(每小题2分,共20分)
(1)对一个算法的评价,不包括如下( )方面的内容。
A)健壮性和可读性B)并行性C)正确性D)时空复杂度
(2)在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A)p->next=HL->next; HL->next=pB)p->next=HL; HL=p
A)14B)5C)6D)8
数据结构与算法-模拟试题3
![数据结构与算法-模拟试题3](https://img.taocdn.com/s3/m/6695d859a517866fb84ae45c3b3567ec102ddcb4.png)
数据结构与算法-模拟试题3一、单项选择题(每个题只有一个答案是正确的,请将正确的答案填写到括号内。
本题共15个小题,每小题3分,共45分)1. 下面的说法正确的是()。
A.数据结构可以分成逻辑结构和线性结构B.数据的逻辑结构是指数据及其逻辑结构在计算机中的表示C.从逻辑结构角度数据结构可以分为集合、线性结构、树结构和图结构四类D.数据的存储结构是从具体问题抽象出来的数学模型2. 线性表采用链式存储时,存储空间()。
A.必须是不连续的B.连续与否均可C.必须是连续的D.和头结点的存储地址相连续3.顺序循环队列容量为20,队头表示第一个元素的位置,队尾表示最后一个元素的下一个位置,当队头为12,队尾为5的时候,队列中共有()个元素。
A.15B.14C.12D.134. 设计一个判别表达式中括号是否配对的算法,采用()数据结构最佳。
A. 顺序表B. 链表C. 队列D. 栈5. 下列有关串的操作中,()不是串的常用操作。
A.连接(concat)B.求子串(substring)C.插入(insert)D.求长度(length)6. 广义表GL=(a, (a))的表头是()。
A. aB. (a)C. ()D. ((a))7.二叉树高度为k,第1层到第k-1层每层都是满的,第k层结点数不满,但该层结点从左到右满放,则该二叉树为()。
A. 斜树B. 有序树C. 满二叉树D. 完全二叉树8.将一棵树转换为二叉树后,该转换后的二叉树的特点是()。
A. 没有右子树B. 没有左子树C. 左右子树都有D. 每层上只有一个结点9. 关于有向图的的说法错误的是()。
A. 有向图中顶点v的入度(indegree)是以顶点v为终点(弧头)的弧的数目B. 有向图中顶点v的出度(outdegree)是以顶点v为始点(弧尾)的弧的数目C. 有向图中各顶点的入度之和等于各顶点的出度之和D. 有向图中各顶点入度之和等于弧数e的2倍10. 在无向图的邻接表存储结构中插入一个顶点和一条边,不需要进行的操作是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构模拟试题(4)
一、填空题:06分,每题02分
1、模板类是一种数据抽象,它把________当作参数,可以实现类的复用。
2、假定对长度n=50的有序表进行折半搜索,则对应的判定树中最底下一层的结点数为______个。
3、第i(i=1,2,...,n-1) 趟从参加排序的序列中取出第i个元素,把它插入到由第0个至第i-1个元素组成的有序表中适当的位置,此种排序方法叫做__________排序。
二、单选题:10分,每题02分
4、
设循环队列的结构是
const int MaxSize=100;
typedef int DataT ype;
struct Queue {
DataT ype data[MaxSize];
int front, rear;
};
若有一个Queue类型的队列Q,试问判断队列满的条件应为( )。
A: Q.front==Q.rear;
B: Q.front-Q.rear==MaxSize;
C: Q.front+Q.rear==MaxSize;
D: Q.front==(Q.rear+1) % MaxSize;
5、已知一棵二叉树的广义表表示为a(b(c),d(e(,g(h)),f)),则该二叉树的高度为( )。
假定树根结点的高度为0。
A: 3
B: 4
C: 5
D: 6
6、对于长度为n的顺序存储的有序表,若采用折半搜索,则对所有元素的搜索长度中最大的为( )的值向上取整。
A: log2(n+1)
B: log2n
C: n/2
D: (n+1)/2
7、设无向图的顶点个数为n,则该图最多有()条边。
A: n-1
B: n(n-1)/2
C: n(n+1)/2
D: n(n-1)
8、在采用开散列法解决冲突时,每一个散列地址所链接的同义词子表中各个表项的()值相同
A: 关键码
B: 非关键码
C: 散列函数
D: 某个域
三、判断题:10分,每题01分
9、数据的逻辑结构是指各数据元素之间的逻辑关系,是用户根据应用需要建立的。
10、
如果采用如下方式定义一维字符数组:
const int maxSize = 30;
char a[maxSize];
则这种数组在程序执行过程中不能扩充。
11、若让元素1,2,3依次进栈,则出栈次序1,3,2是不可能出现的情况。
12、二叉树是一棵无序树。
13、能够在链接存储的有序表上进行折半搜索,其时间复杂度与在顺序存储的有序表上相同。
14、在由n个元素组成的有序表上进行折半搜索时,对任意一个元素进行搜索的长度都不会大于log2n+1。
15、对用顶点表示活动的网络(AOV网)进行拓扑排序必然得到唯一的结果。
16、装载因子是散列表的一个重要参数,它反映了散列表的装满程度。
17、闭散列法通常比开散列法时间效率更高。
18、A VL树(平衡二叉搜索树)的所有叶结点不一定在同一层次上,同样,平衡m路搜索树的叶结点也不一定在同一层次上。
四、中型计算题:10分,每题10分
19、设有一个三维数组A[10][20][15],按页/行/列存放于一个连续的存储空间中,每个数组元素占4个存储字,首元素A[0][0][0]的存储地址是1000,求A[8][4][10]的地址。
五、小型计算题:40分,每题08分
20、已知一个有序表(15,26,34,39,45,56,58,63,74,76,83,94)顺序存储于一维数组a[12]中,根据折半搜索过程填写成功搜索下表中所给元素34, 56, 58, 63, 94时的比较次数。
21、假定一个线性序列为(38,52,25,74,68,16,30,54,90,72),根据此线性序列中元素的排列次序生成的一棵二叉搜索树,求出对该二叉搜索树搜索38,74,68,30,72等元素时的比较次数。
22、已知图G=(V,E),其中V={a,b,c,d,e},E={<a,b>,<b,a>,<c,b>,<c,d>,<d,e>,<e,a>,<e,c>},请写出各结点的出度和入度。
结点 a b c d e
出度
入度
23、
已知一个AOV网络的顶点集V和边集G分别为:
V={0,1,2,3,4,5,6,7};
E={<0,2>,<1,3>,<1,4>,<2,4>,<2,5>,<3,6>,<3,7>,<4,7>,<5,7>,<6,7>};
若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号(即dest域的值)从小到大的次序链接的,则按主教材中介绍的进行拓扑排序的算法,写出得到的拓扑序列(提示:先画出对应的图形,然后再运算)。
拓扑序列:
24、
设散列表为HT[13],即表大小m=13,采用双散列法解决冲突。
散列函数和再散列函数分别为:
H0 = Hash(key) = key % 13; 注:%是求余数运算(= mod );
Hi = ( Hi-1 + REV ( key + 1) % 11 + 1) % 13,i = 1, 2, ..., m-1。
其中,函数REV(x)表示颠倒10进制数x的各位,如REV(37)=73,REV(7)=7等。
待依次插入的关键码序列为{2,8,31,20,19,18,53,27},请根据上述条件填列下表。
六、综合题:20分,每题10分
25、
阅读下列算法,按标号补充所缺内容。
void purge_linkst( ListNode *& la){
// 从头指针为la 的有序链表中删除所有值相同的多余元素,并释放被删结点空间ListNode *p,*q;
if(la==NULL) return;
q=la; p=la->link;
while(p) {
if (p && ___(1)___) {q=p; p=p->link;}
else {
q->link= ___(2)___;
delete(p);
p=___(3)___;
}
}//while
}// purge_linkst
(1) (2) (3)
26、
指出下面算法的功能。
Stack unknown(Stack S) {
Stack T; int d;
T.IniStack( ); //初始化栈
While(!S.IsEmpty( )){
d=S.GetT op();
S.Pop();
T.Push(d);
}
return T;
}
算法功能:
七、填空题(主观):04分,每题02分
27、在具有n个结点的堆排序中,对任意一个分支结点进行调整运算的时间复杂度为____________。
28、在一棵m阶B树上,每个非根结点的关键码数最少为__________个。