《数据结构概论》A卷.docx
(完整word版)数据结构-A卷(word文档良心出品)
南阳理工学院 2013 – 2014 学年第 一 学期试卷(A 卷)课程:《数据结构》课程号:1504108130、考核方式:(闭卷) 课程性质: 专业必修课 适用对象: 11级软件工程本科()11 级 软件工程 本科一、填空题:(每空 2 分,共 20 分)1.带有头结点的单链表L 的判空条件为_____________________。
2.在一个具有n 个单元的顺序栈中,假设以地址高端作为栈底,以top 作为栈顶指针,则当作进栈处理时,top 的变化为_____________________。
3.最大容量为n 的循环队列Q ,队尾指针是rear ,队头是front ,则队空的条件是______________________________。
4.假设以行序为主序存储二维数组A=array[0..99,0..99],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]= _______________。
5.由3 个结点可以构造出_________种不同的二叉树。
6.一个具有1025个结点的完全二叉树的高h 为__________。
7.具有n 个顶点的有向完全图有________________条边。
8.n 个顶点的连通图用邻接矩阵表示时,该矩阵至少有___________个非零元素。
9.对n 个不同的排序码进行冒泡排序,在最坏的情况下比较的次数最多为___________。
10.快速排序的平均时间复杂度为______________。
二、选择题:(每题 2 分,共 20 分)1.以下与数据的存储结构无关的术语是( )。
A .有序表B. 链表C.顺序队列D. 链栈 2.链接存储的存储结构所占存储空间( )。
A .分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B .只有一部分,存放结点值C .只有一部分,存储表示结点间关系的指针D .分两部分,一部分存放结点值,另一部分存放结点所占单元数3.在一个长度为n 的顺序表中,在第i 个元素(1≤i ≤n+1)之前插入一个新元素时须向后移动( )个元素。
河师大-软件学院-数据结构试卷A卷(答案及评分细则)
河南师范大学软件学院2016--2017学年度第一学期 2015级计算机专业期末考试《数据结构》A 卷答案及评分细则1. 线性表若采用链式存储结构,要求内存中可用存储单元的地址( D )。
A 、必须是连续的 B 、部分地址必须是连续的 C 、必须是连续的 D 、连续或不连续都可以2. 栈中元素的进出原则是( B )。
A 、先进先出 B 、后进先出 C 、栈空则进 D 、栈满则出3. 以下数据结构中,( A )是非线性数据结构。
A 、树 B 、字符串 C 、队列 D 、栈4.队列的插入操作是在( A )。
A 、队尾B 、队头C 、队列任意位置D 、队头元素后5. 在单链表中,指针p 指向元素为x 的结点,实现删除x 的后继的语句是( B )。
A 、p=p->next; B 、p->next=p->next->next; C 、p->next=p; D 、p=p->next->next;6. 设广义表L=((a,b,c)),则L 的长度和深度分别为( C )。
A 、1和1 B 、1和3 C 、1和2 D 、2和37. 一棵树转换为二叉树后,这棵二叉树的形态是( A )。
A 、唯一的 B 、有多种C 、有多种,但根结点都没有左孩子D 、有多种,但根结点都没有右孩子 8. 图的深度优先遍历类似于二叉树的( A )。
A 、先序遍历 B 、中序遍历 C 、后序遍历 D 、层次遍历9.在一个无向图中,所有顶点的度数之和等于图的边数的( C )倍。
A 、1/2 B 、1 C 、2 D 、410. 二叉排序树中左子树上所有结点的值均( A )根结点的值。
A 、< B 、> C 、= D 、!=11.根据使用频率为5个字符设计的哈夫曼编码不可能是( C )。
A 、111,110,10,01,00B 、000,001,010,011,1C 、100,11,10,1,0D 、001,000,01,11,1012. 对线性表进行折半查找时,要求线性表必须( C )。
福建师范大学2020年8月《《数据结构概论》务》期末试卷A卷答案
(第9题配图:数组的下标为0,1,2,3)
10.对于哈希函数H(key)=key%13,被称为同义词的关键字是( D )
A.35和41
B.23和39
C.15和44
D.25和51
11.有一个有序表为{ 1,3,9,12,32,41,45,62,77,88,92,100},用折半查找法,若要找
63,要经过( C )次与63比较。
A.12
B.6
C.4
D.5
12.下述几种排序方法中,稳定的排序算法是( B )
A.直接插入排序
B.快速排序
C.堆排序
D.希尔排序
13.具有n个顶点的无向图至少要有( B )条边才能确保是一个连通图。
A.n(n+1)
B.n-1
C.n+1
D.n(n-1)
14.二叉树是非线性数据结构,所以 ( C )
A.它不能用顺序存储结构存储
B.它不能用链式存储结构存储
C.顺序存储结构和链式存储结构都能存储
D.顺序存储结构和链式存储结构都不能使用
15.有8个结点的无向图最多有( B )条边。
A.14
B.28
C.56
D.112
二、填空题(每小题2分,共30分)
1.下面程序段的时间复杂度为___O(n)_____。
sum=1; for(i=0;sum<n;i++) sum+=1;
2. 设数组a[M](M为最大空间个数)作为循环队列Q的存储空间,front为队头指针(指向第一个存
放数据的位置),rear为队尾指针(指向最后一个存放数据位置的下一个),则判定Q队列的队。
(完整word版)数据结构试卷及答案(word文档良心出品)
注意事项:1、下面关于串的叙述中,哪一个是不正确的?( )A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 2、设无向图的顶点个数为n ,则该图最多有( )条边。
A .n-1B .n(n-1)/2C . n(n+1)/2D .0 3、以下数据结构中,( )是非线性数据结构。
A .树B .字符串C .队列D .栈 4、下面关于线性表的叙述中,错误的是哪一个?( )A .线性表采用顺序存储,必须占用一片连续的存储单元。
B .线性表采用顺序存储,便于进行插入和删除操作。
C .线性表采用链接存储,不必占用一片连续的存储单元。
D .线性表采用链接存储,便于插入和删除操作。
5、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front 和rear ,则当前队列中的元素个数为( )。
A .(rear-front+m)%mB .rear-front+1C .(front-rear+m)%mD .(rear-front)%m6、在单链表指针为p 的结点之后插入指针为s 的结点,正确的操作是( )。
A .p->next=s; s->next=p->next;B .s->next=p->next; p->next=s;C .p->next=s; p->next=s->next;D .p->next=s->next; p->next=s; 7、设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。
A .1,2,4,3B .2,1,3,4C .1,4,3,2D .4,3,1,2, 8、广义表(a,(b,c),d,e )的表头和表尾分别为( )。
A .a 和(b,c),d,e B .(a )和(b,c),d,eC .a 和 ((b,c),d,e)D .(a) 和((b,c),d,e)9、栈和队都是( )A .顺序存储的线性结构B .链式存储的非线性结构C .限制存取点的线性结构D .限制存取点的非线性结构 10、从逻辑上可以把数据结构分为( )两大类。
河师大-软件学院-2012级-《数据结构》A卷
河南师范大学软件学院2013――2014学年度第一学期2012年级期末考试《数据结构》A 卷1.在n 个结点的顺序表中,算法的时间复杂度是O (1)的操作是:( ) A .访问第i 个结点(1≤i ≤n )和求第i 个结点的直接前驱(2≤i ≤n ) B .在第i 个结点后插入一个新结点(1≤i ≤n ) C .删除第i 个结点(1≤i ≤n ) D .将n 个结点从小到大排序2.线性表L 在( )情况下适合选用链式结构实现。
A .L 中含有大量的结点 B .需要经常修改L 中结点值 C .需不断对L 进行插入删除操作 D .L 中结点结构复杂3.一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列?( ) A .1,3,2,4 B .2,3,4,1 C .4,3,1,2 D .3,4,2,1 4.下列叙述正确的是( )。
A .二叉树是度为2的有序树B .二叉树中结点只有一个孩子时无左右之分C .二叉树中必有度为二的结点D .二叉树中最多只有棵子树,并且有左右之分5.设有一个10阶的对称矩阵A ,采用下三角压缩存储方式,以行序为主序存储,a 11为第一元素,其存储地址为1,每个元素占一个地址空间,则a 85的地址为( )。
A .13 B .33 C .18 D .406.设循环队列中数组的下标范围是1-n ,其头尾指针分别为f 和r ,则其元素个数为( )。
A .r-f B .r-f+1 C .(r-f)mod (n+1) D .(r-f+n) mod n7.在一个单链表中,已知q 所指结点是p 所指结点的前驱结点,若在q 和p 之间插入s 结点,则执行( )。
A .s->next=p->next ;p->next=s ;B .p->next=s->next ;s->next=p ;C .q->next=s ;s->next=p ;D .p->next=s ;s->next=q ;8.在串的块链存储结构中,通常将链串的结点大小设置为大于1是为了( )。
(专升本)数据结构A卷参考答案
专升本)数据结构A卷参考答案:简答题1,数据结构是相互之间存在一种或多种特定关系的数据元素的集合.这种数据元素相互之间的关系称为结构.可以将数据结构形式化地定义为二元组:Data_Structure=(D,S)其中:D是数据元素的有限集,S是D上关系的有限集.数据结构课程主要讨论数据的逻辑结构,物理结构和操作三个方面的问题.2,算法的时间复杂度是指算法中各语句的频度之和T(n),其中频度指语句的执行次数,n指问题的规模,一般为数据的输入量.渐近时间复杂度:当问题的规模n趋于无穷大时,T(n)的数量级(阶).记为T(n)=O( f(n) ).这里"O"是一种近似表示法,其含义是:在n较大时,该算法的运行时间和f(n)成正比,或者说,T(n)的数量级和f(n)的数量级相同.实际中,将渐近时间复杂度简称为时间复杂度,用以描述算法的时间特性.3,顺序表的优点:(1)可直接求出存储地址(随机存储结构),结构简单,便于随机访问表中的任一元素.(2)存储密度高.顺序表的缺点:(1)不便于插入和删除.(移动元素次数多,平均约需移动一半元素)(2)不便于扩充表的容量.(3)不能有效地利用内存空间.单链表的优点:(1)结点空间可动态申请动态释放.(2)每个结点有指针域指示逻辑顺序,进行插入删除操作时不需移动元素.单链表的缺点:(1)不能随机访问表中任一元素,效率低.(2)存储量可随意扩充,但新增加的存储空间可能与以前的不邻接,故需要设立一些存放地址用的存储单元.4,入栈算法:int push (qstype *s, elemtype x){if (s→top==MAXNUM-1)return 0;else { s→top++;s→stack [s→top]=x;return 1; }}出栈算法:elemtype pop(qstype *s){if (s→topnext!=NULL)if (p->data!=p->next->data)p=p->next;else{ q=p->next;p->next=q->next;free(q);}}return head;}2,#define m 100typedef struct btreenode{ elemtype data;struct btreenode *left;struct btreenode *right;} btree; /*二叉链表的形式化定义*/ void postorder(btree * b){btree * stack[m],*p;int tag[m],top=0;p=b;do{while (p!=NULL){ top++;stack[top]=p;tag[top]=0;p=p->left;}if (top>0){ p=stack[top];if (tag[top]==1){ top--;printf("%d",p->data);}if (top>0){ p=p->right;tag[top]=1;}}}while (p!=NULL&&top!=0)}。
数据结构 A卷
数据结构 A卷数据结构A卷一、引言数据结构是计算机科学中的重要基础概念之一,是描述和组织数据的方法论。
本文将介绍数据结构的基本概念、常见的数据结构类型以及它们的应用。
二、基本概念1. 数据和数据元素数据是指能够输入计算机进行操作的符号、数字或字符等。
数据元素是数据的基本单位,可以是一个单独的字符、数字或者更复杂的数据对象。
2. 数据结构数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
常见的数据结构包括线性表、树、图等。
三、线性表1. 定义线性表是一种数据结构,其中数据元素之间存在一对一的关系。
线性表有顺序存储和链式存储两种方式。
2. 常见的线性表结构(1) 数组数组是线性表的一种顺序存储结构,具有连续的存储空间和相同的数据类型。
(2) 链表链表是线性表的一种链式存储结构,由一系列节点组成,每个节点包含数据元素和指向下一个节点的指针。
四、树结构1. 定义树是一种非线性数据结构,由节点和节点之间的连接构成。
树结构具有层次关系,并且每个节点可以有多个子节点。
2. 常见的树结构(1) 二叉树二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。
(2) 平衡二叉树平衡二叉树是一种特殊的二叉树,它的左子树和右子树的高度差不超过1。
五、图结构1. 定义图是一种非线性的数据结构,由节点和节点之间的连接构成。
图可以表示实际世界中的各种关系。
2. 常见的图结构(1) 有向图有向图中的边具有方向性,表示节点之间的单向关系。
(2) 无向图无向图中的边不具有方向性,表示节点之间的双向关系。
六、数据结构的应用1. 数据库系统数据结构在数据库系统中广泛应用,用于存储、查询和管理大量的数据。
2. 算法设计数据结构是算法设计和分析中的关键因素,选择合适的数据结构可以提高算法的效率。
3. 图形图像处理图结构在图形图像处理中常用于表示图像的结构关系和图像处理算法的设计。
七、总结数据结构是计算机科学的核心知识,了解不同类型的数据结构以及它们的应用,对于提高程序的效率和解决实际问题非常重要。
数据结构A卷3答案
兰州交通大学博文学院2014-2015学年第二学期《数据结构》期末考试试卷(A卷)考核形式(闭卷)注:本试卷作答时间为120分,满分为100分1.用链接方式存储的队列,在进行插入运算时(A)A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改2.深度为k的二叉树至多有多少个结点(C)A.k2B. 2k-1C.k2-1D. k3.以下数据结构中哪一个是非线性结构?(D)A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
CA.688 B.678 C.692 D.6965.树最适合用来表示( C )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为(D)。
(A) 20 (B) 30 (C) 40 (D) 457. 下面关于线性表的叙述错误的是(D)。
(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现8. 设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(B )个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m9. 设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是(B )。
2007~2008学年《数据结构》A卷
华侨大学《数据结构》试卷(A)
班级:
学号:
姓名:
考试日期:
年
月
日
题号
一
二
三
四
五
总分
得分
一、选择题(每题 1.5 分,共 15 分)
1、若长度为 n 的线性表采用顺序存储结构,删除它的第 i 数据元素之前,需要先依次向前移动( )个数
据元素。
A.n-i
B.n+i
C.n-i-1
D.n-i+1
2、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。
2、阅读下面算法,指出该算法的功能。
Status fun2(char *str){
Stack T; Queue Q;
char ch1, ch2; InitStack(T);
int i ;
InitQueue(Q);
for ( i = 0; str[i] != ‘\0’; i++) {
Push( T, str[i] );
A.顺序表
B.用头指针表示的单循环链表
C. 用尾指针表示的单循环链表
D.单链表
3、将一个递归算法改为对应的非递归算法时,通常需要使用( )。
A. 栈
B. 队列
C. 循环队列
4、设有两个串 t 和 p,求 p 在 t 中首次出现的位置的运算叫做( )。
A. 求子串
B. 模式匹配
C. 串替换
D. 优先队列 D. 串连接
3. 该二叉树的后序遍历序列为:DBCAHJKIGFE(2 分),中序线索二叉树(不带头结点)为:(3 分)
5
4. 无向图 G 的邻接表表示如下:(2 分)
2012-2013(2)数据结构A卷及参考答案资料
一、填空题(每空1 分,共10分)1.向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1个元素。
2.带有一个头结点的单链表head为空的条件是head->next=head。
3.由带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为44 。
4.设s=’I︺AM︺A︺TEACHER’,其长度是 14 。
5.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200,则A[6][12]的地址是326。
6.假设在有序线性表A[1..20]上进行二分查找,则比较一次查找成功的结点数目个数为__ 1__。
7.深度为k的完全二叉树至少有2k-1个结点,至多有2k-1个结点。
8.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i ]等于1。
9.执行广义表操作GetTail[ GetHead[ ((a,b),(c,d)) ] ]后的结果为(b)。
二、选择题(每小题1分,共10分)1.下列数据中,哪一个是非线性结构?( D )A. 栈B. 队列C. 字符串D. 二叉树2.设P指向单链表的某个节点,在P之后插入一个节点S的操作为( C)A. P->next = S;B. P->next = S->next; S->next = P->next;C. S->next = P->next; P->next = S;D. P->next = S; P = P->next;3.设三个元素的进栈顺序为abc,则下列哪个序列是不可能出现的出栈序列( D)A. abcB. acbC. cbaD. cab4 .假设用块链存储结构表示串,如果每一个块的大小为4个字符(每个字符占用一个字节),一个指针占4个字节,则一个长为15的串需要多少字节的存储空间(C)A. 15B. 20C. 32D. 405.用一维数组存储一个6×6的对称阵A,以行序为主序存储该矩阵的下三角(包括对角线)元素,数组的起始位置为100,每个数组元素占4个字节,那么A[3][6]的存储位置为( A )A. 168B. 140C. 132D. 1086.设一个度为3的树中,度为1,2,3的结点个数分别为2,3,4,则该树中有多少个叶子结点?( D )A. 9B. 10C. 11D. 127.一个AOV网如图1所示,则下列哪一个序列不是该图的拓扑有序序列?( B)图1A. 124359786B. 123459786C. 142357896D. 4132578698.对一个长度为10的有序表进行折半查找,在等概率情况下查找成功的平均查找长度为( A)A. 2.9B. 3.0C. 3.2D. 3.49.下列排序算法中,那个算法是稳定的?( D)A. 希尔排序B. 快速排序C. 堆排序D. 归并排序10.设数据结构A = (D,R)。
数据结构---A卷---集美大学试卷纸
bool IsEmpty() const { return first->link == NULL ? true : false; } LinkNode<T> *getFirst() const { return first; } void setFirst(LinkNode<T> *f ) { first = f; } void output(); int Countx(LinkedList *L , T x); 单链表类的其它方法的定义省略。
find=0; while (x.di<4 && find==0) /*找下一个可走方块*/ { di=x.di; di++; mazetest.getTop(x); switch(di) { case 0:x.i=x.i; case 2:x.i=x.i; } if (maze[x.i][x.j]==0) find=1; } if (find==1) //找到了下一个可走方块 { mazetest.Pop(y); y.di=di; mazetest.Push(y); x.di=-1; mazetest.Push(x); maze[x.i][x.j]=-1; } else { } cout<<"没有可走路径!"<<endl; system("pause"); return 0; //没有路径可走,则退栈 mazetest.Pop(z); //没有路径可走,退栈 maze[z.i][z.j]=0; //让该位置变为其他路径可走方块 //初始方向 //下一个可走方块进栈 //避免重复走到该方块 x.j=x.j+1;break; x.j=x.j-1; break; case 1:x.i=x.i+1; x.j=x.j; break; case 3:x.i=x.i-1; x.j=x.j; break;
数据结构-A卷(有答案)
试卷编号: (A)卷考生注意事项:1、本试卷共 8 页,总分 100 分,考试时间 120 分钟。
一、选择题(每题2分,共20分)1.线性表采用链式存储时,结点的存储地址( )A .必须是不连续的B .连续与否均可C .必须是连续的D .和头结点的存储地址相连续2.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( ) A. 栈B. 队列C. 树D. 图3.求单链表中当前结点的后继和前驱的时间复杂度分别是( )A .O(n)和O(1)B .O(1)和O(1)C .O(1)和O(n)D .O(n)和O(n)4.非空的单循环链表的头指针为head,尾指针为rear ,则下列条件成立的是( ) A .rear->next==head B .rear->next->next==head C .head->next==rear D .head->next->next==rear 5.队和栈的主要区别是( )A.逻辑结构不同B.存储结构不同C.所包含的运算个数不同D.限定插入和删除的位置不同 6.设栈的输入序列为1,2,3,4,则( )不可能是其出栈序列。
A .1,2,3,4B. 4,3,1,2C. 1,4,3,2,D. 2,1,3,4承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。
专业 班级 学号 学生签名:7. 二维数组A[6][8]采用列优先的存储方法,若每个元素各占6个存储单元,且第1个元素A[0][0]的地址为1000,则元素A[4][7]的地址为( )A. 1282B. 1072C. 1270D. 12768.与线性表相比,串的插入和删除操作的特点是()A. 通常以串整体作为操作对象B. 需要更多的辅助空间C. 算法的时间复杂度较高D. 涉及移动的元素更多9.若一棵二叉树有11个叶子结点,则该二叉树中度为2的结点个数是()A.10 B.11 C.12 D.不确定的10.如图所示的有向无环图可以得到的不同拓扑序列的个数为()A.1B.2C.3D.4二、填空题(每空2分,共30分)1.根据数据元素之间的关系不同,四种基本的数据结构是_________、_________、_____________和_____________。
(完整word版)《数据结构》课程期末考试试卷(A卷)DAOAN - 副本
浙江财经学院东方学院2010~2011学年第一学期《数据结构》课程期末考试试卷(A 卷)考核方式:闭卷 考试日期:2010年 月 日 适用专业、班级:东方电子商务专业题 号 一 二 三 四 五 六 总分 得 分 评卷人(共六大题)说明:(1) 请考生将答案写在答题纸上; (2) 考试时间120分钟;一、单选题 (每题1分,共15分)1、对一个算法的评价,不包括如下( )方面的内容。
A .健壮性B .可读性C .正确性D .实用性 2执行下面程序段时,s 语句的执行次数为( D )。
for (int i=l; i<=n;i++) For(int j=1; j<=i; j++)S;A .n2B .N2/2C .n(n+1) D.n(n+1)/2 3..下面算法的时间复杂度为(B) intf (int n){if (n==0 || n==l) return 1. Else return n*f(n-l);A .O(1)B .O(n)C .O(n2)D O(n!)4、在一个长度为n 的顺序存储的线性表中,删除第i 个元素(1≤i ≤n)时,需要从前向后依次前移( A )个元素。
A. n-iB.n-i+1C.n-i-lD.i5若一个结点的引用为p ,在p 结点后面插入一个值为x 的新结点的操作为( D )。
A. p=new Node(x,p) B.p=new Node(x,p. next)密 封 线专业、班级: 学号: 姓名:C. p.next=new Node(x,p)D.p.next=new Node(x,p. next)6假定利用数组a顺序存储一个栈,用top表示栈顶指针,top-= -1表示栈空,并已知栈不为空,当退栈并返回栈顶元素时所执行的操作为( B )。
A.return a[- -top];B.return a[top--];C. rcturn a[++top];D.return a[top++];7若让元素1.2.3依次进栈.则出栈次序不可能出现( C )的情况。
数据结构试卷A卷(含答案)
数据结构试卷A卷(含答案)《数据结构》试卷A⼀、填空题(每空1分,共22分)1、数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。
2、⼀个算法的效率可分为效率和效率。
3、向⼀个长度为n的向量的第i个元素(1≤i≤n+1)之前插⼊⼀个元素时,需向后移动________个元素。
4、在⼀个循环队列中,队⾸指针指向队⾸元素的位置。
5、在具有n个单元的循环队列中,队满时共有个元素。
6、向栈中压⼊元素的操作是先,后。
7、称为空串;称为空⽩串。
8、假设有⼆维数组A6×8,每个元素⽤相邻的6个字节存储,存储器按字节编址。
已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为;末尾元素A57的第⼀个字节地址为;若按⾏存储时,元素A14的第⼀个字节地址为;若按列存储时,元素A47的第⼀个字节地址为。
9、设⼀棵完全⼆叉树具有1000个结点,则此完全⼆叉树有个叶⼦结点,有个度为2的结点,有个结点只有⾮空左⼦树,有个结点只有⾮空右⼦树。
10、线性有序表(a1,a2,a3,…,a256)是从⼩到⼤排列的,对⼀个给定的值k,⽤⼆分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。
设有100个结点,⽤⼆分法查找时,最⼤⽐较次数是。
11、散列法存储的基本思想是由决定数据的存储地址。
⼆、判断题(每题1分,共10分)()1. 队是⼀种插⼊与删除操作分别在表的两端进⾏的线性表,是⼀种先进后出型结构。
()2.⼆叉树中所有结点个数是2k-1-1,其中k是树的深度。
()3. 栈和队列的存储⽅式既可是顺序⽅式,也可是链接⽅式。
()4.⼆叉树中所有结点,如果不存在⾮空左⼦树,则不存在⾮空右⼦树。
()5.对于⼀棵⾮空⼆叉树,它的根结点作为第⼀层,则它的第i层上最多能有2i-1个结点。
()6. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会⾃动将后续各个单元向前移动。
()7.⽤⼆叉链表法(link-rlink)存储包含n个结点的⼆叉树,结点的2n个指针区域中有n+1个为空指针。
数据结构——(A卷)
2015~2016学年度第二学期 《数据结构》试卷(A 卷) 适用年级专业:2014级计算机科学与技术、软件工程、网络工程、信息与计算科学 考 试 形 式:( )开卷、( )闭卷 二级学院: 行政班级: 学 号: 教 学 班: 任课教师: 姓 名: 注:学生在答题前,请将以上内容完整、准确填写,填写不清者,成绩不计。
一、单项选择题(每个小题2分,共30分。
请将所选答案填在答题纸上对应表格内,否则不能得分) 1、算法分析的目的是( )。
A 、找出数据结构的合理性 B 、研究算法中的输入和输出的关系 C 、分析算法的效率以求改进 D 、分析算法的易懂性和文档性 2、非线性结构中的每个结点( )。
A 、只有一个直接前趋结点 B 、必须有多个直接前趋结点 C 、只有一个直接后继结点 D 、可能有多个直接前趋和多个直接后继结点 3、在有n 个结点的顺序表中,算法时间复杂度为O (1)的操作是( )。
A 、删除表中第i 个结点(1≤i ≤n ) B 、在第i 个结点前插入一个新结点(1≤i ≤n ) C 、访问第i 个结点(1≤i ≤n ) D 、将n 个结点从小到大排序4、若对某线性表的最常用操作是读取或修改第i 个元素和i 的后继元素,则采用( )存储方式最节省时间。
A 、单链表 B 、双链表 C 、单向循环 D 、顺序表5、单链表中,向指针为p 的结点之后插入指针为q 的结点,正确的操作序列是( )。
A 、p->next=q;q->next=p->next; B 、q->next=p->next;p->next=q; C 、p->next=q;p->next=q->next; D 、p->next=q->next;p->next=q;6、假设以数组A[50]存放循环队列的元素,其头尾指针分别为f 和r ,则当前队列中的元素个数为( )。
数据结构07A答案
考试答案不得超过此线安庆师范学院2008—2009学年度第一学期期末考试试卷《数据结构》(A卷)答案一、选择题(每题2分,共30分)。
1、B2、C3、A4、C5、C6、C7、B8、B9、D 10、D 11、B 12、B 13、D 14、D 15、C二、填空题(共9题,共15分)1、362、O(1)、O(logn)3、2614、cdefde5、p->piror s->piror->next=s6、LS=LS->next free(p)或者delete(p)7、(40,38,46,56,79,84) 8、(a) (a) 9、 3三、读算法,写结果(每小题4分,共8分)1、2、(说明:只绘出如下图,也给4分)算法实现带头结点的单链表L的就地逆置。
四、应用题(共6小题,共37分)1、(说明:只有序列,加3分;绘制如下图,得4分)(1)根的确定:由后序序列可知其最后一个(即A)为根………(1分)(2)左右子树的确定:由中序序列,根A左边的子序列(即C D)为其左子树(3个结点,其中1个未知),右边的子序列(即GHF)为其右子树(4个结点,其中1个未知)……………………………(3分)最后的结果,如下图:2、考试答案不得超过此线3、4、(1)散列表构造及其查找成功的比较次数………………(2分)(2)计算成功时的平均查找长度…………………………(2分)ASL=(5×1+3×2+1×4)/9=15/9(3)计算查找不成功时的比较次数………………………(2分)计算不成功时的平均查找长度ASL=(3+2+1+8+7+6+5+4+3+2+1)/11=42/115、所求得的MST 为……………………………………………(3分)6、(1)计算next 值……………………………………………(3分)1A 3(2)画出KMP 的匹配过程………………………………(5分) 第一趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A考试答案不得超过此线第二趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A第三趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A第四趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A第五趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A五、算法填空及设计题(共2小题,共10 分)1、(5分)void Print(BNode *TL ){if (TL!=NULL){if(TL->Lchild==NULL&& TL->Rchild==NULL)cout<<TL->data;Print(TL->Lchild);Print(TL->Rchild);}}2、(5分)void InsertList ( SqList *L, ElemType x){ i=L.length-1;while( i>=0 && L.elem[i]>x ){ L.elem[i+1]=L.elem[i]; i--; }L.elem[i+1]=x; L.length++;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构概论》期末考核试题
一、单项选择题( 每小题 2 分,共 30 分 )
1.下列编码中属前缀码的是(B)
A.{1,01,000,001}
B.{1,01,011,010}
C.{0,10,110,11}
D.{0,1,00,11}
2.设栈 S 和队列 Q的初始状态为空,元素a,b,c,d,e,f依次进栈,一个元素退栈后即进入队列Q,若 6 个元素的出队的序列是 b,d,c,f,e,a,则栈 S 的容量至少应当是 (C)
A.6
B.4
C.3
D.2
3.在具有 n 个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是(B)
A.O(1)
B.O(n)
C.O(nlogn)
D.O(n 2)
4.要表示省,市,区,街道的有关数据及其关系,选择(B) 比较合适。
A. 线性结构
B. 树结构
C. 图结构
D. 集合结构
5.链栈与顺序栈相比,比较明显的优点是(D)
A. 插入操作更加方便
B. 删除操作更加方便
C. 不会出现下溢的情况
D.不会出现上溢的情况
6.二叉树中第 5 层上的结点个数最多为 (C)
A.8
B.15
C.16
D.32
7.在表长为n的链表中进行线性查找,查找成功时,它的平均查找长度为 (B)
A.ASL=n
B.ASL=(n+1)/2
C.ASL= n
+1D.ASL≈ log2(n+1)-1
8. 对 22 个记录的有序表进行折半查找,当查找失败时,至少需要比较(B) 次关键字。
A.3
B.4
C.5
D.6
9. 已知图的邻接表如下所示,根据算法,则从顶点0 出发按广度优先遍历的结点序列是(A)
A.0321
B.0123
C.0132
D.0312
(第 9 题配图:数组的下标为0,1,2,3 )
10.对于哈希函数 H(key)=key%13, 被称为同义词的关键字是 (D)
A.35 和 41
B.23 和 39
C.15 和 44
D.25 和 51
11.图的深度优先遍历类似于二叉树的(A)
A. 先序遍历
B. 中序遍历
C. 后序遍历
D. 层次遍历
12. 下述几种排序方法中,稳定的排序算法是(B)
A. 直接插入排序
B. 快速排序
C. 堆排序
D. 希尔排序
13.依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位
置上的方法,称为 (C)
A. 希尔排序
B. 冒泡排序
C. 插入排序
D. 选择排序
14. 二叉树是非线性数据结构,所以(C)
A. 它不能用顺序存储结构存储
B. 它不能用链式存储结构存储
C. 顺序存储结构和链式存储结构都能存储
D.顺序存储结构和链式存储结构都不能使用
15. 有 8 个结点的无向图最多有(B) 条边。
A.14
B.28
C.56
D.112
二、填空题(每小题 1 分,共 15 分)
1 当问题的规模n 趋向无穷大时,算法执行时间T(n)的数量级被称为算法的___时间复杂度_____。
2 设数组 a[M](M 为最大空间个数) 作为循环队列Q的存储空间, front为队头指针(指向第一个存放
数据的位置 ) , rear 为队尾指针 ( 指向最后一个存放数据位置的下一个) ,则判定Q 队列的队满条件是_front==(rear+1)%m_。
3 若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是_FEGHDCB。
4 假设S 和X 分别表示进栈和出栈操作,由输入序列“ABC”得到输出序列
“BCA”的操作序列为 SSXSXX,则由“ a*b+c/d ”得到“ ab*cd/+ ”的操作序列为 _SXSSXXSSXSSXXX。
__
5 在一棵度为 3 的树中,度为 2 的结点个数是1,度为0 的结点个数是6,则度为 3 的结点个数是
___2_____。
6 在数据的存放无规律而言的线性表中进行检索的最佳方法是_顺序查找
__。
7n 个顶点 e 条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度
为______O(n2)_______;若采用邻接表存储时,该算法的时间复杂度为
______O(n+e)________。
8 在堆排序和快速排序中,若初始记录接近正序或反序,则选用 _____堆排
序_________;若初始记录基本无序,则最好选用___快速排序_____。
9 若要求一个稠密图G的最小生成树,最好
用
__普里姆 ___算法来求解。
10 一棵深度为 6 的满二叉树有____63____________个分支结点和
______32______个叶子。
11 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是_哈希表 ____。
12 有向图G用邻接矩阵存储,其
第
i行的所有元素之和等于顶点i 的_____出度 _______。
三、解答题 ( 每小题 8 分,共 40 分)
1.用普里姆 (prim) 算法从右图中的顶点 1 开始逐步构造最小生成树,要求画出构造的每一步。
2.假设通信电文使用的字符集为 {a,b,c,d,e,f,g},若这些字符在电文中出现的频度分别为:3,35,13, 15,
20,5 和 9,分别求出这些字符的等长编码以及哈夫曼编码,并比较他们的编码长度。
3.待排序的序列为: 25,47,36,21,90,84,62,78,15,32。
写出用(小根)堆排序的每一趟的结果。
4.已知一棵树的前序序列为:abefcgdhijk ,后序序列为: efbgcijkhda 。
画出这棵树。
5.已知闭散列表的长度为10( 散列地址空间为 0..9),散列函数为 H(K)=K%8,采用线性重新散列技
术解决冲突,将下列一组数据{25,17,39,47,83,55,99,34} 依次插入到散列表中,请画出散列表。
四、算法阅读、设计(共5分)
1 阅读下列函数algo, 并回答问题: (5 分 )
voidalgo(Queue*Q)
{
StackS;
InitStack(&S);
while(!QueueEmpty(Q))
Push(&S,DeQueue(Q));
while(!StackEmpty(&S))
EnQueue(Q,Pop(&S));
}
(1) 假设队列q 中的元素为(2,4,5,7,8),其中“2”为队头元素。
写出执行函数调用algo(&q)后的
队列 q;
(2) 简述算法algo 的功能。
五、程序设计题(共10 分)1、
已
知r[]为一维数组,其中
r[0]到r[n-
1]
为待排序的
n 个元素,排序好的元素仍放在
r[0]
到
r[n-1]中,请写出对该数组进行非递归的直接插入排序算法,取名为insertsort(elemtyper[],intn)。
(10 分 )。