数据结构期中试卷A4928
数据结构期中考试试卷
数据结构期中考试试卷一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是什么?A. 元素之间存在一对一关系B. 元素之间存在一对多关系C. 元素之间存在多对多关系D. 元素之间存在一对一或多对多关系2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序3. 在二叉树中,度为2的节点最多有多少个子节点?A. 1B. 2C. 3D. 44. 哈希表解决冲突的方法不包括以下哪一项?A. 分离链接法B. 开放寻址法C. 链地址法D. 树形结构法5. 以下哪个不是图的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 动态规划D. 克鲁斯卡尔算法6. 栈的特点是?A. 后进先出B. 先进后出C. 先进先出D. 后进后出7. 以下哪个不是二叉搜索树的性质?A. 左子树上所有节点的值小于它的根节点的值B. 右子树上所有节点的值大于它的根节点的值C. 左子树和右子树都是二叉搜索树D. 所有节点的值都相等8. 在数据库中,索引的作用是什么?A. 增加数据存储空间B. 提高数据检索效率C. 降低数据插入速度D. 减少数据存储量9. 以下哪个不是图的存储结构?A. 邻接矩阵B. 邻接表C. 树形结构D. 边列表10. 递归算法的基本思想是什么?A. 将问题分解为更小的子问题B. 重复执行相同的操作C. 将问题转化为非递归形式D. 避免使用循环结构二、填空题(每题2分,共20分)1. 在数据结构中,______是一种特殊的线性表,只允许在一端进行插入和删除操作。
2. 排序算法中,______排序的时间复杂度为O(n^2),适用于小规模数据的排序。
3. 在图的表示中,______矩阵可以有效地表示稠密图。
4. 哈希表中,______是指两个关键字通过哈希函数得到同一个哈希地址。
5. 栈和队列的主要区别在于,栈是______,而队列是先进先出。
6. 二叉树的遍历方式包括前序遍历、中序遍历和______遍历。
数据结构期中试题及参考答案
}LNode, *LinkList;
阅读算法 f31,并回答问题;
(1)设节点结构为id score next
,成绩链表 A 和 B 如图所示,画
出执行算法 f31(A,B)后节点 A 所指的链表;
A
1 70
2 40
3 90
4 48
5 56
B
2 38
4 65
题 31 图
(2)减速算法 f31 的功能。 Void f31(LinkList A, LinkList B) { LinkList p,q; p = A->next; q = B->next; while (p && q) { if(p->id < q->id) p = p ->next; else if(p->if > q-> id) q =q –>next; else { if (p->score < 60)
I + = j + lt ;
}
}while (i+lt <= ls && j>=0);
Return k;
}
4
五、算法设计题(本题 14 分) 34.假设线性表采用顺序存储结构,其类型定义如下:
#define ListSize 100 typedef struct{
int data[ListSize]; int length; }SeqList, *Table; 编写算法,将顺序表 L 中所有值为奇数的元素调整到表的前端。
(1)设 n=10,元素
p=8
2
存储在 sa[p],写出下标 p 的值;
题 3-1 图
数据结构期中考试题
一、单项选择题(每小题3分,共30分)1、线性结构是数据元素之间存在的一种_______。
A、一对多关系B、多对多关系C、多对一关系D、一对一关系2、以下数据结构中,哪一个不是线性结构()A.生成树 B. 顺序栈 C. 单链表 D. 循环队列3、设n是偶数,则运行下列程序段的时间复杂度为()。
x=100;for(p=2;p<=n;p++)for(q=2*i;q<=n;q++)x=(x+1)*3;A.O(1) B.O(n) C.O(n2) D.O(lbn)4、若频繁地对线性表进行插入和删除操作,该线性表应该采用——存储结构。
A、散列B、顺序C、链式D、索引5、在非空双向循环链表中由q所指的链结点后面插入一个由p所指的链结点的动作依次为:p->llink=Q;p->rlink=q->rlink;q->rlink=p;_______.(空白处为一条赋值语句) A、q->llink=p B、q->rlink->llink=pC、p->rlink->llink=pD、p->llink->llink=p6、设循环队列的结构是:const int Maxsize=100;typedef int Data Type;typedef struct {Data Type data[Maxsize];Int front, rear;} Queue;若有一个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;7、已知L是一个不带表头的单链表, 在表首插入结点*p的操作是()。
A. p = L; p->next = L;B. p->next = L; p = L;C. p->next = L; L = p;D. L = p; p->next= L;8、下面关于串的叙述中,哪一个是不正确的?( )A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储9、若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )。
《数据结构》期终考查试卷(A卷)和答案
《数据结构》期终考查试卷(A 卷)适用专业:一、单项选择题(每题2分,共40分)1、.算法的时间复杂度是指( )A .执行算法程序所需要的时间B .算法程序的长度C .算法执行过程中所需要的基本运算次数D .算法程序中的指令条数2、以下说法正确的是A .线性结构的数据元素之间存在一对多的线性关系B .图形结构和树型结构是线性结构C .时间复杂度是用算法执行过程中所需要的基本运算次数来度量D .时间复杂度总是与空间复杂度成正比3、在一个单链表HL 中,若要删除由指针q 所指向结点的后继结点,则执行( )。
A .p = q->next ; p->next = q->next;B .p = q->next ; q->next = p;C .q->next = q->next->next; q->next = q;D . p = q->next ; q->next = p->next 4、下列叙述中正确的是( ) A .线性表是线性结构 B. 栈与队列是非线性结构 C .线性链表是非线性结构 D. 二叉树是线性结构 5、图的广度优先搜索类似于树的( )次序遍历。
A .先根 B .中根 C .后根 D .层次 6、下列存储形式中,( )不是树的存储形式。
A、双亲表示法B、左子女右兄弟表示法C、广义表表示法D、顺序表示法7、栈的插入和删除操作都在()进行。
A、栈顶B、栈底C、任意位置D、指定位置8、按照“后进先出”原则组织数据的数据结构是A.队列B.栈C.双向链表D.二叉树9、假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。
A.front==NULL B.front!=NULL C.rear!=NULL D.front= =rear10、关于字符串的说法中,错误的是A、字符串是零个或多个字符组成的有限序列B、串中字符的个数称为串的长度C、长度为零的串称为空串D、由空格组成的字符串称为空串11、有关二叉树的下列说法正确的是A、任何一棵二叉树中至少有一个结点的度为2B、一棵二叉树的度可以小于2C、二叉树中任何一个结点的度都为2D、二叉树的度为212、对如下二叉树进行后序遍历的结果为A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA13、求图的最小生成树采用的算法是A.普里姆算法和克鲁斯卡尔算法B.迪杰斯特拉算法C.弗洛伊德算法D.深度优先算法14、设G1=(V1,E1)和G2=(V2,E2)为两个图,如果V2包含V1,E2包含E1,则称( )。
数据结构期中试卷A参考答案
北京航空航天大学北海学院课程考试试卷答案要点及评分细则课程名称:《数据结构》考试班级:软件与信息工程学院卷别:_A 命题教师签名: 年 月 日1、 单项选择题(本题共15小题,每小题2分,共30分)123456789101112131415C AD B C B D D C A D C A C B2、 判断正误题(本题共10小题,每小题1分,共10分)1.X,2.X,3.√,4.√,5.X,6.X,7.X,8.√,9.X, 10.√3、 填空题(本题共6小题10个空,每空2分,共20分)(1) O(n)(2) O(n)(3) O(1)(4) 求模式串在主串中首次出现的位置的运算,即求主串中左起第一个与模 式串相等的子串的首字符在主串中的位置。
(5) (Q.rear-Q.front+Max)% Max(6) 4(7) n2log n,n3, 2n(8) n→∞时n3/(n2log n)→∞, 2n/(n3)→∞(9) 为空(10) 出队四、简答题:(本题共4小题,1,2小题各4分,3,4小题各6分,共20分)1.1) 确定性指描述无二义性,相同条件下执行的路线和结果都是唯一的。
2) 输入可以有0至多个从算法外部接受的输入。
2. 该缓冲区应该采用队列结构。
其主要特点是先进先出。
3. 顺序表:O(n),单循环链表:O(n),顺序栈:O(1),循环队列:O(1),链栈:O(1),链队列:O(1)。
4. 优点:①随机访问,简捷;②只存数据,局部空间利用率高;缺点:①逻辑关系靠地址表达,插入删除造成大量元素移动;②要求连续存储空间,固定长度,不便扩充;③须预先按最大可能分配,但闲置多,按整体看空间利用率低。
五、设计题(本题共3小题,第1小题2分,第2小题8分,第3小题10分,共20 分)1. typedef struct node{datatype data;struct node *next;}node;2.(1). s->next = head->next; head->next = s;(2). s->next = head; head = s;3. 答案1:采用尾指针表示、带头结点的单循环链表。
数据结构期中考试试卷参考答案
数据结构期中考试试卷参考答案1徐州师范大学期中试卷课程名称:数据结构与算法一、单项选择1. B2. A3. B4. C 5. A 6. D 7. C 8. C 9. B 10. D 11. A 12. B 13. C 14. D 15. A 16. C 17. A 18. A 19. D 20. B二、名词解释1. 数据:是所有能被输入到计算机中,且能被计算机处理的符号的集合。
它是计算机操作的对象的总称,也是计算机处理的信息的某种特定的符号表示形式。
2. 算法:通常把具体存储结构上的操作实现步骤或过程称为算法。
3. 递归:在定义一个过程或函数时出现调用本过程或本函数的成分,称之为递归4. 时间复杂度:通常把算法中包含基本运算次数的多少称为算法的时间复杂度,也就是说,一个算法的时间复杂度是指该算法的基本运算次数。
5. 数组:数组是n(n >1)个相同类型数据元素a1,a2,…,an 构成的有限序列,且该有限序列存储在一块地址连续的内存单元中。
三、填空题(每题1分,共10分)1.有穷性、确定性、可行性、输入、输出2. n/2 插入或删除位置3. __O(1) __。
4. 以行序为主序和以列序为主序两种方式。
5. 数据数据元素。
6.元素之间逻辑关系的信息7. 长度各个对应位置上的字符 8.一定不一定。
9.头指针头结点的指针.直接前驱结点指针。
10.数据元素及其关系四、简答题1.答案:(1)结点存储密度。
顺序:结点中只有自身信息域,没有链接信息域,故存储密度大;链式:结点中除自身信息外,还有表示连接信息的指针域,存储密度小。
(2)随机存取。
顺序:可随机访问,直接存取第i 个结点信息;链式:不能随机访问.(3)插入和删除。
顺序:插入、删除,会引起大量结点的移动。
链式:插入、删除灵活方便,不必移动结点,只要改变结点中的指针值即可。
(4)预先分配存储单元.顺序:按最大预分配,存储空间利用率不高;链式:不需要预分配空间,所以存储空间利用率高。
数据结构期中试卷 (1)
西北民族大学计算机科学与信息工程学院期中考试数据结构试卷( A 卷)专业: 课程代码:学号: 姓名:一、选择题(在每小题的四个备选答案中,选出一个正确的答Array案,并将其代码填入题干后的括号内。
每小题 2 分,共 40 分)1.从逻辑上可以把数据结构分为( C )。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.结性结构和非线性结构D.内部结构和外部结构2. 下面程序的时间复杂度为( C )。
For (i=0; i<m; i++)For (j=0; j<n; j++)A[i][j]=i*j;A. O(m2)B. O(n2)C. O(m×n)D.O(m+n)3.带头结点的单链表head为空的判断条件是( B )。
A.head=NULLB.head->next=NULLC.head->next=D.head!=NULL4.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.又链表D.仅有尾指针的单循环链表5.线性表的静态链表存储结构与顺序存储结构优点是(B)。
A.所有的操作算法简单B.便于插入和删除C.便于利用零散的存储器空间D.便于随机存取6.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是(A)。
A. nB. 2n-1C. 2nD. n-1数据结构试卷第1页(共6页)7.在双循环链表p所指结点之后插入s所指结点的操作是(D)。
A. p->next=s; s->prior=p; p->next->prior=s; s->prior=p->next;B. p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;C. s->prior=s; s->next=p->next; p->next=s; p->next->prior=s;D.s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;8.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度为(C)。
数据结构考试试题及答案
数据结构考试试题及答案2022-05-12 09:22计科 2 班期中考试题答案提交说明:写清题号,以 word 文本格式保存,文件名命名规则为:姓名+学号,放到 ftp://192.168.130.50 的“计科 2 班考试”文件夹中。
一.填空题(每题 1 分,共 10 分)( 1 )已知一个顺序存储的线性表,设每一个结点需占m 个存储单元,若第 0 个元素的地址为 address,则第 i 个结点的地址是( address+i*m )。
( 2 )线性表有两种存储结构:顺序存储结构和链式存储结构,就两种存储结构完成下列填空:( 顺序存储结构)存储密度较大,( 链式存储结构)存储利用率较高,(顺序存储结构)可以随机存取,( 链式存储结构)不可以随机存取,( 链式存储结构)插入和删除操作比较方便。
( 3)顺序表中逻辑上相邻的元素在物理位置上(也相邻),在链表中逻辑上相邻的元素的物理位置( 不一定)相邻。
(4)在一个长度为 n 的顺序表中,在第 i个元素 ( 0<=i<=n ) 之前插入一个新元素时须向后挪移 ( n-i+1 ) 个元素。
( 5)在顺序表 la的第 i个元素前插入一个新元素,则有效的 i值范围是( 0 <=i<=length -1 ) ;在顺序表 lb的第j个元素之后插入一个新元素,则 j的有效范围是( 0 <= j<=length-1 ) ;要删除顺序表 lc的第 k 个元素,则 k 的有效范围是( 0 <=k<=length-1 )。
( 6)设有一个空栈,现有输入序列为 1,2,3,4,5,经过操作序列 push , pop , push , push , pop,push ,push ,pop后,现在已出栈的序列是1,3,5 ,栈顶元素的值是 4 。
( 7)设有栈 S ,若线性表元素入栈顺序为 1,2,3,4,得到的出栈序列为 1,3,4,2,则用栈的基本运算 Push, Pop描述的操作序列为push , pop, push, push , pop, push , p。
48283-软件《数据结构》期中试卷资料
江西财经大学15-16第二学期期中考试试卷试卷代码:48283 授课课时:48 考试用时:90分钟课程名称:数据结构适用对象:15级软件工程试卷命题人邓庆山试卷审核人严军勇一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。
答案错选或未选者,该题不得分。
每小题3分,共24分。
)1. 链式栈与顺序栈相比,一个比较明显的优点是( B )。
A.插入操作更加方便 B.通常不会出现栈满的情况C.不会出现栈空的情况 D.删除操作更加方便2. 在一个链队列中,假定front和rear分别为队首和队后指针,则进行插入S结点的操作时应执行( C )。
A.front-> next=s; front=s; B.s-> next=rear; rear=s;C.rear-> next=s; rear=s; D.s-> next=front; front=s;3. 关于算法的描述,不正确的是( B )。
A.算法最终必须由计算机程序实现B.所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界C.健壮的算法不会因非法的输入数据而出现莫名其妙的状态D.算法的优劣与算法描述语言无关n + 7891,则算法的时间复4.若算法中语句频度之和为T(n) = 123n + n2/45 + 6nlog2杂度为( D )。
n ) D.O( n2 )A.O(1)B.O( n )C.O( nlog25. 设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( C )。
A.q=p->next;p->data=q->data;p->next=q->next;free(q);B. q=p->next;q->data=p->data;p->next=q->next;free(q);C. q=p->next;p->next=q->next;free(q);D. q=p->next;p->data=q->data;free(q);6.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为( B )A.236B.239C.242D.2457.对于长度为n的顺序表执行删除操作,则其结点的移动次数( C )A.最少为0,最多为nB.最少为1,最多为nC.最少为0,最多为n-1D.最少为1,最多为n-18.栈和队列的共同特点是( A )。
数据结构期中试卷
《数据结构》期中试卷专业________ 学号_________ 姓名________ 成绩_______一、选择题(本大题共50小题,每小题2分,共100分)1. 若广义表K满足head(K)=tail(K),则K为 ( )A.( )B.( ( ) )C. ( () ),( () )D.( (),(),() )2.若要求尽可能快地对实数数组进行稳定的排序,则应选( )A.快速排序B.堆排序C.归并排序D.基数排序3. 请指出在顺序表{2、5、7、10、14、15、18、23、35、41、52}中,用二分法查找关键码12需做()次关键码比较。
A.2B.3C.4D.54.对包含N个元素的散列表进行查找,平均查找长度( )A.为 O(log2N)B.为O(N)C.不直接依赖于ND.上述三者都不是5.一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列()A. 1,3,2,4B. 2,3,4,1C. 4,3,1,2D. 3,4,2,16.下面关于图的存储的叙述中,哪一个是正确的。
()A.用相邻矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关B.用相邻矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关C.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关D.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关7. 首先访问结点的左子树,然后访问该结点,最后访问结点的右子树,这种遍历称为( )A.前序遍历B.后序遍历C.中序遍历D.层次遍历8.对一棵查找树根结点而言,左子树中所有结点与右子树中所有结点的关键字大小关系是( )A.小于B.大于C.等于D.不小于9.下面关于B-树和B+树的叙述中,不正确的是 ( )A. B-树和B+树都是平衡的多分树B. B-树和B+树都是可用于文件的索引结构C. B-树和B+树都能有效地支持顺序检索D. B-树和B+树都能有效地支持随机检索10. 给定下列有向图和初始结点V1,按深度优先遍历的结点序列为( )A.V1,V2,V4,V5,V3B.V1,V3,V4,V5,V2C.V1,V2,V5,V3,V4D.V1,V2,V3,V4,V511. 在数据结构中,从逻辑上可以把数据结构分成()。
数据结构期中试卷及答案
一、选择题(每小题2分,共30分)1. 数据结构是( D )。
A.一种数据类型 B.数据的存储结构C.一组性质相同的数据元素的集合D.相互之间存在一种或多种特定关系的数据元素的集合2.以下与数据的存储结构无关的术语是( D )。
A.链队列 B. 链表 C. 顺序表 D. 栈3.以下数据结构中,( A )是非线性数据结构A.树 B.字符串 C.队 D.栈4.一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是(B)。
A.98 B.100 C.102 D.1065.在线性表的下列运算中,不改变数据元素之间结构关系的运算是(D)。
A.插入 B.删除 C.排序 D.查找6.线性表采用链式存储时,其地址(D )。
A.必须是连续的 B.一定是不连续的C.部分地址必须连续 D.连续与否均可以7.线性表是(A )。
A.一个有限序列,可以为空 B.一个有限序列,不可以为空C.一个无限序列,可以为空 D.一个无限序列,不可以为空8.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(B)。
A.3,2,6,1,4,5 B.3,4,2,1,6,5C.1,2,5,3,4,6 D.5,6,4,2,3,19. 若一个栈的输人序列是1,2,3,…,n,输出序列的第一个元素是n,则第k个输出元素是(C )。
A.k B.n-k-1 C.n-k+1 D.不确定10.对于队列操作数据的原则是( A )。
A. 先进先出B. 后进先出C. 先进后出D. 不分顺序11. 栈和队列的共同点是( C )。
A. 都是先进先出B. 都是先进后出C. 只允许在端点处插入和删除元素D. 没有共同点12.在一个链队列中,假定front和rear分别为头指针和尾指针,删除一个结点的操作是( A )。
A.front=front->next B.rear=rear->nextC.rear->next=front D.front->next=rear13. 空串与空格串( B )。
《数据结构》期中题库及答案
一、判断题:1、线性表的逻辑顺序与物理顺序总是一致的。
( )2、线性表的顺序存储表示优于链式存储表示。
( )3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
( )4、二维数组是其数组元素为线性表的线性表。
( )5、每种数据结构都应具备三种基本运算:插入、删除和搜索。
( )6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。
( )7、线性表中的每个结点最多只有一个前驱和一个后继。
()8、线性的数据结构可以顺序存储,也可以链接存储。
非线性的数据结构只能链接存储。
()9、栈和队列逻辑上都是线性表。
()10、单链表从任何一个结点出发,都能访问到所有结点()11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。
()12、快速排序是排序算法中最快的一种。
()13、多维数组是向量的推广。
()14、一般树和二叉树的结点数目都可以为0。
()15、直接选择排序是一种不稳定的排序方法。
()16、98、对一个堆按层次遍历,不一定能得到一个有序序列。
()17、在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。
()19、堆栈在数据中的存储原则是先进先出。
()20、队列在数据中的存储原则是后进先出。
()21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。
()22、哈夫曼树一定是满二叉树。
()23、程序是用计算机语言表述的算法。
()24、线性表的顺序存储结构是通过数据元素的存储地址直接反映数据元素的逻辑关系。
()25、用一组地址连续的存储单元存放的元素一定构成线性表。
()26、堆栈、队列和数组的逻辑结构都是线性表结构。
()27、给定一组权值,可以唯一构造出一棵哈夫曼树。
()28、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。
数据结构期中考试答案解析
数据结构期中试卷及答案解析考试说明考试说明:考察前五章小题,难度接近真题。
满分100分,共20道选择题,每题5分。
请在60分钟内完成。
C T(n)=n3+5000nD T(n)=2nlogn-1000n参考答案:C本题考察时间复杂度,多个项相加时,只保留最高阶项由于巴啦啦能量——“常<对<幂<指<阶”,因此T(n)=logn+5000n=O(n)T(n)=n2-8000n=O(n2)T(n)=n3+5000n=O(n3)T(n)=2nlogn-1000n=O(nlogn)所以O(n3)复杂度最大,选C。
3.下列叙述中正确的是()①线性表在链式存储时,查找第 i 个元素的时间同 i 的值成正比②线性表在链式存储时,查找第 i 个元素的时间同 i 的值无关③线性表在顺序存储时,查找第 i 个元素的时间同 i 的值成正比A. 仅①B. 仅②C. 仅③D. ①②③参考答案:A线性表在链式存储时,查找第 i 个元素的时间同 i 的值成正比。
线性表在顺序存储时,查找第 i 个元素的时间同 i 的值无关4.若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。
A. 单链表B. 双向链表C. 单循环链表D. 顺序表参考答案:D注意到,题目要求存取第i个元素及其前驱和后继,ABC三个选项找到第i个元素的时间复杂度均为O(n),而D选项对于这3个位置的存取的时间复杂度均为O(1),故选D。
5.静态链表中next域表示的是()A 下一个元素的地址B 下一个元素的值C 当前元素的值D 下一个元素在数组中的位置参考答案:D静态链表一般保存在数组中,它和链表最大的区别是静态链表占用一段固定的区间,所以next域只需要表示下一个元素在数组中的下标即可而不是表示下一个元素的地址,选D。
6.对于不带头结点的链栈L(next域表示该结点下一个元素),top指针指向栈顶元素(栈顶在链头方向),则x结点进栈操作为A top->next=x;top=x;B top=x;top-next=x;C top=x;x->next=top;D x->next=top;top=x;参考答案:D本题考察链栈的操作x入栈之后x下一个元素为原来的top,所以先把x->next=top,然后更新top,栈顶元素指向x。
数据结构-期中小测验及答案
《数据结构》期中小测验一、单项选择题1.线性表的顺序存储结构是一种()的存储结构,线性表的链式存储结构是一种()的存储结构.A.随机存取B. 顺序存取C. 索引存取D. 散列存取2.在以下的叙述中,正确的是( )A.线性表的线性存储结构优于链表存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出3.一个栈的入栈序列是1,2,3,....,n, 其输出序列为p1,p2,p3,.....,pn, 若p1=n, 则pi为()A.i B. n-i C. n-i+1 D. 不确定4.一个队列的入列序列是1,2,3,4,则队列的输出序列是()A.4,3,2,1 B.1,2,3,4 C.1,4,3,2 D.3,2,4,15.栈和队列的共同点是()A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点6.树最适合用来表示()A.有序数据元素 B. 无序数据元素C. 元素之间具有分支层次关系的数据D元素之间无联系的数据7.如果某二叉树的先序遍历序列是ABCDE,中序遍历序列是CDBEA,则后序遍历序列是( )A. CDEBAB. EDCBAC. DCEBAD.DCBAE8.将递归算法转化为非递归算法时,通常需要使用()A. 链表B. 树C.栈D.队列9.假定在一棵二叉树中,双分支结点数为15。
单分支结点数为30,则叶结点数为()个。
(A)15 (B)16 (C) 17 (D) 4710.设双向循环链表中结点的结构为(data, lLink, rLink),且不带表头结点。
若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作?()A. p->rLink = s; s->lLink = p; p->rLink->lLink = s; s->rLink = p->rLink;B. p->rLink = s; p->rLink->lLink = s; s->lLink = p; s->rLink = p->rLink;C. s->lLink = p; s->rLink = p->rLink; p->rLink = s; p->rLink->lLink = s;D. s->lLink = p; s->rLink = p->rLink; p->rLink->lLink = s; p->rLink = s;二、判断题1.()链式栈与顺序栈相比,一个明显的优点是通常不会出现栈满的情况。
数据结构期中考试答案
9. 在 单 链 表 L 中 , 指 针 p 所 指 结 点 有 后 继 结 点 的 条 件 是 :
__(14)p->next!=NULL
。
10. 串是有 n(n>=0)个字符组成的有限序列;在 C 语言里用 (15)数组
存储串,并在串末尾加上 (16) ‘\0’ 作为串的结束标志。
11. 串的链式存储结构包括 (17)单字符结点链 和 (18)块 链。 12. 稀疏矩阵的压缩存储一般采用 (19)三元组 顺序表。 13. 递归算法直接或者间接调用了 (20)函数本身 。 二、 综合题(总分 60) 1.设计一数据结构,用来表示某一银行储户的基本信息: 账号、姓名、开
9. rear 是指向以循环链表表示的队列的队尾指针,EnLQueue 函数实现把 x 插入到队尾
的操作。DeLQueue 函数实现删除队头元素并赋给 x 的操作。根据题意按标号把合适的
内容填写到算法后面相应标号的位置。(队列元素的数据类型为 ElemType)【6 分】 void EnLQueue(ListNode *rear, ElemType x)
6. 在单链表中设置头结点的作用是_(9)使得删除插入等操作处理方法
相同
7. 栈是一种特殊的线性表,允许插入和删除操作的一端称为 (10)栈
顶 ,不允许插入和删除操作的一端称为 (11)栈底 。
8. 在顺序循环列队中,队空标志为____(12_cou(13)_Q->rear==Q->front&&count>0_________。
《数据结构》期中考试试卷
一、 填空题(每空 1 分,共 20 分)
1. 数据的物理结构包括 (1)顺序 的表示和 (2)链式 的表示。
《数据结构》期中考题(doc 8页)
《数据结构》期中考题(doc 8页)沈阳工程学院《数据结构》期中考试试题班级:专业:学号:姓名:考试日期:2008年10月10日一、选择题(2分×8 = 16分)1. 以下数据结构中,是非线性数据结构的是。
A. 树B. 字符串C. 数组D.栈2. 下列程序段的渐进时间复杂度为。
for( int i=1;i<=n;i++)for( int j=1;j<= m; j++)A[i][j] = i*j ;A. O(m2)B. O(n2)C. O(m*n)D. (m+n)3. 数组A[0…5,0…6]的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址为。
A. 1175B. 1180C. 1205D.12104. 以下关于链式存储结构的叙述中,是不正确的。
树8. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?()A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 4 1 5 6二、填空题(2分×5 =10分)1. 一个算法具有5个特性:、、、有零个或多个输入,一个或多个输出。
2. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。
3. 字符串“abcd”中共有个长度大于0的字串。
4. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是。
5. 具有n个结点的完全二叉树的高度为三、名词解释(24分)(1)栈与队列(2)完全二叉树(3)数据的逻辑与存储结构四、简答题(30分)1. 请对线性表进行顺序存储和链式存储的特点作比较。
2. 假设有一个适当大小的栈S,输入栈的序列为A,B,C,D,E。
问:(1)能否得到下列的输出序列:① B,C,D,E,A;② E,A,B,C,D;③E,D,C,B,A。
《数据结构》期中试题(有答案)
(1)
( 3)(四棵树)
A
A
A
B
D
B
D
B C
CE
F
CE
F
F
G
I
G
I
G
H
H
H
(2)后序序列: CBEHGIFDA 体现到图上便可
D E
I
得分 评卷人
四、阅读算法(每小题 5 分,共 25 分) 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)<<' '; } 该算法被调用后得到的输出结果为:
14
--
0
0
0
15
--
0
0
0
4
8
10
0
0
5
14
12
0
0
6
23
13
0
0
7
3
9
0
0
8
11
11
0
0
9
8
11
1
7
10
15
12
3
4
11
19
13
8
9
12
29
14
5
10
13
42
15
6
数据结构 期中试卷
《数据结构》期中试卷一、填空题(每空2分,共44分)1、数据结构可分为_线性结构_,__树形结构___和__图形结构__。
2、算法的效率包括时间与空间两个方面,分别称为_时间复杂度_与__空间复杂度_。
3、向一个长度为n的线性表的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动 _n-i_个元素。
4、线性表的存储结构常用的有_顺序存储_、_链式存储___两种。
5、、队列的特性是_先进先出_,而栈的特性是_后进先出_。
6、折半查找算法的时间复杂度为:_____________;顺序查找算法的时间复杂度为:___O(N)__________;7、链式存储中结点分为两个域,分别是__数据域__和__ 指针域__。
8、广义表A=((a1),(a2,……,an))的表头为____(a1)_____,表尾为__(a2,……,an) __,用表头和表尾描述a2=_ (head(head(tail(A)))__。
9、构造散列函数的方法通常有_平方取中法_,_移位法__,___数字分析法__,__除留余数法__四种。
10、已知线性表的起始存储位置为b,表中任意一个元素所占用的存储单元为k 个,则表中任意一元素ai的存储位置LOC(ai)为__b+(i-1)*k____________________。
二、选择题(每题3 分,共18分)1、线性表是一个( A )A、有限序列,可以为空B、有限序列,不能为空C、无限序列,可以为空D、无限序列,不能为空2、线性表采用链式存储时,其地址( D )A、必须是连续的B、部分地址必须是连续的C、一定是不连续的D、连续与否均可以3、已知某顺序线性表有20个元素,其首地址为20,每个元素占2个存储空间,则第15个元素的存储位置为( D )A、35B、40C、45D、484、进栈顺序为ABC,以下不可能的出栈顺序是( C )A、ABCB、BACC、CABD、CBA5、采用折半查找的前提是( D )A、线性数据集合B、元素分成块C、用二叉排序树存储D、按关键字有序6、索引顺序查找又称分块查找,它要求索引表必须( A ),各子块必须“按块有序”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.已知稀疏矩阵如下:
请写出该稀疏矩阵三元组表示
(3分)
2. 将两个栈存入数组V[1..m]中应如何安排最好?这时栈空、栈满的条件是什么?(3分)
3.请画出下面广义表相应的加入表头结点的单链表表示,
D(A(x,y,L(a,b)),B(z,A(x,y,L(a,b))))
C、一定是不连续的 D、连续不连续都可以
(9)下面程序段的时间复杂度为____________
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
A[i][j]=i*j;
5、某带头结点的单链表的头指针head,判定该单链表非空的条件______________
6、已知指针p指向单链表中某个结点,则语句p->next=p->next->next的作用________
7、______链表从任何一个结点出发,都能访问到所有结点
8、广义表(A,(a,b),d,e,((i,j),k)),则广义表的长度为________,深度为_______
(4分)
4.求下列广义表运算的结果:(3分)
1) HEAD((p,h,w));
2) TAIL ((b,k,p,h));
3) HEAD (((a,b),(c,d)));
4) TAIL (((a,b),(c,d)));
5) HEAD(TAIL((((a,b),(c,d)))))
6) TAIL(HEAD((((a,b),(c,d)))))
(3 )二维数组A按行顺序存储,其中每个元素占1个存储单元
若A[1][1]的存储地址为420,A[3][3]的存储地址为446,则A[5][5]的存储地址为_______
A、470 B、471 C、472 D、473
(4)在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行____
君子喻于义,小人喻于利
—— 孔丘
数据结构期中试卷A
一、判断题:(10分,每题1分)
1、线性表的逻辑顺序与物理顺序总是一致的
( )
2、线性表中的每个结点最多只有一个前驱和一个后继
( )
3、单链表从任何一个结点出发,都能访问到所有结点
( )
4、单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个结点
(7)一个非空广义表的表头________
A、不可能是子表 B、只能是子表
C、只能是原子 D、可以是子表或原子
(8)线性表若采用链表存储结构时,要求内存中可用存储单元的地址________
A、必须是连续的 B、部分地址必须是连续的
A、 q一>next=p一>next;p一>next=q; B、 q一>next=p一>next;p一>next=q;
C、 p一>next=q一>next;q=p; D、 p一>next=q一>next;q一>next=p;
(5)在一个顺序队列中,队首指针指向队首元素的____位置
A、前一个 B、后一个 C、当前 D、最后一个
(6)如下陈述中正确的是________
A、 串是一种特殊的线性表 B、 串的长度必须大于零
C、 串中元素只能是字母 D、 空串就是空白串
Void weizhi (linkqueue *q)
{struct queuenode *p;
if q.front = = q.rear
printf("the queue is empty");
else{ p=q->front->next;
(14)计算机识别、存储和加工处理的对象被统称为_________
A、数据 B、数据元素 C、数据结构 D、数据类型
(15)在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是________
A、O(1) B、O(n) C、O(nlogn) D、O(n2)
A、 O(m2) B、 O(n2) C、 O(m*n) D、 O(m+n)
(10)在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次前移_____个元素
A、n-i B、n-i+1 C、n-i-1 D、i
5.数组a[1..10,-2..6,2..8]以行优先的顺序存储,设第一个元素的首地址为100,每个元素占3个存储长度的存储空间,则元素A[5,1,8]的存储地址为多少?(3分)
五、程序题(34分)
1.下列算法为删除单链表中值为X的算法,将程序填完整
(8分,每空2分)
void del(struct node *head)
三、选择题:(30分,每题2分)
(1)在栈中存取数据的原则是
A、先进先出 B、后进先出 C、先进后出 D、随意进出
(2)已知广义表的表头为A,表尾为(B,C),则此广义表为________
A、(A,(B,C)) B、(A,B,C) C、(A,B,C) D、(( A,B,C))
(11)当利用大小为N的一维数组顺序存储一个循环队列时,该队列的最大长度为_____
A、N-2 B、N-1 C、N D、N+1
(12)链式栈与顺序栈相比,一个比较明显的优点是________
A、 插入操作更加方便 B、 通常不会出现栈满的情况
k++;}
if p!=null
{printf("please input to x");
scanf("%d",&x);
q=(struct node *)malloc(sizeof(struct node));
q->data=x;
_________;
C、 不会出现栈空的情况 D、 删除操作更加方便
(13)由两个栈共享一个向量空间的好处是______
A、减少存取时间,降低下溢发生的机率 B、节省存储空间,降低上溢发生的机率
C、减少存取时间,降低上溢发生的机率 D、节省存储空间,降低下溢发生的机率
( )
5、用一组地址连续的存储单元存放的元素一定构成线性表
( )
6、算法一定要有输入和输出
( )
7、若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素
( )
8、符号p->next出现在表达式中表示p所指的那个结点的内容
2.下列算法完成在一个带头单链表中第i个结点前插入一个结点算法,请将空余处填上
(8分,每空2分)
Void inserti (struct node *head)
{ p =head ->next;k=0;
while(p!=null)&&(k<_______)
{________;
____________;}
string[k]='\0'; }}
4.编写算法在一个非减有序线性表中,插入一个值x的元素,使插入的线性表仍为非减有序表
(8分)
Void insert(sqlist *L,int x)
5.写出下列算法的功能:(4分)
( )
9、若某堆栈的输入序列为1,2,3,4,则4,3,1,20、除插入和删除操作外,数组的主要操作还有存取、修改、检索和排序等
( )
二、填空题:(10分,每空1分)
1、《数据结构》课程讨论的主要内容是数据的逻辑结构、存储结构和______________
{if ( i> strlen(string))
printf("error!");
else{ k= i-1;
while(string[____________] ! ='\o')
{ ____________;
2、若频繁地对线性表进行插入与删除操作,该线性表应采用______________存储结构
3、在双向链表中,每个结点含有两个指针域,一个指向_________结点,另一个指向________结点
4、在初始为空的队列中插入元素A,B,C,D以后,紧接着作了两次删除操作,此时的队尾元素是___________
q->front->next=p->next
return(p->data);
free(p); }}
君子喻于义,小人喻于利
—— 孔丘
_________;}
else printf("not found ith node");}
3.删除字符串string1中第I个位置开的连续的J个字符
下列算法实现了在主串从第i个位置起删除长为j的子串,请将程序填完整
(6分,每空2分)
Void delstr(char string1, int I,int J)
{ q=head;
while((_________)&&(_
p=q->next;________))
{ q=p;
_________;}
if(p= = null) printf("error");
else{______________;
free(p);printf("success!");}}