- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《数据结构》国开02272形考任务(1-4)试
题与答案汇总
一、选择题(每题5分,共20分)
1.数据的逻辑结构就是数据的(A)
A.元素之间的关系
B.物理结构
C.元素的值
D.元素的数量
2.线性表的存储结构有(D)
A.顺序存储和链式存储
B.顺序存储和索引存储
C.链式存储和散列存储
D.顺序存储、链式存储和索引存储
3.下面哪个不是线性表的运算(C)
A.插入
B.删除
C.排序
D.查找
4.在长度为n的线性表中,删除第i个元素(i从1开始),需
要移动(A)
A.n-i个元素
B.i个元素
C.n个元素
D.0个元素
答案:AADB
二、填空题(每题5分,共20分)
1.长度为n的线性表,其元素一共有n个。
2.线性表的顺序存储结构是利用一组地址连续的存储单元依次
存储线性表的元素。
3.在线性表中,删除第i个元素后,从第i个元素到表尾的所
有元素都向前移动一个位置。
4.栈是一种特殊的线性表,只允许在表的一端进行插入和删除
操作。
答案:略
三、判断题(每题5分,共20分)
1.线性表是一种最基本的数据结构,它的特点是数据元素之间
是一对一的关系。(正确)
2.顺序存储结构的特点是存取方便,但插入和删除操作需要移
动大量元素。(正确)
3.链式存储结构的特点是不需要连续的存储空间,但插入和删
除操作需要修改指针。(正确)
4.栈和队列都是线性结构,但栈的操作是后进先出,而队列的
操作是先进先出。(正确)
答案:略
四、简答题(每题10分,共40分)
1.简述线性表的顺序存储结构的特点。(10分)
顺序存储结构是利用一组地址连续的存储单元依次存储线性表
的元素。其特点是存取方便,时间复杂度为O(1)。但插入和删除操
作需要移动大量元素,时间复杂度为O(n)。
2.简述线性表的链式存储结构的特点。(10分)
链式存储结构是由一系列结点组成的线性序列,每个结点包含
数据域和指针域。其特点是无需连续的存储空间,插入和删除操作
只需修改指针,时间复杂度为O(1)。但查找元素需要遍历链表,时
间复杂度为O(n)。
3.简述栈和队列的特点及应用场景。(20分)
栈是一种特殊的线性表,只允许在表的一端进行插入和删除操
作,具有后进先出(LIFO)的特点。栈的应用场景有函数调用栈、
表达式求值、括号匹配等。
队列是一种特殊的线性表,只允许在表的一端进行插入操作,
另一端进行删除操作,具有先进先出(FIFO)的特点。队列的应用
场景有消息队列、缓冲区、打印队列等。
4.简述二分查找法的基本思想和适用条件。(20分)
二分查找法是一种在有序数组中查找特定元素的有哪些信誉好的足球投注网站算法。基
本思想是不断将数组分成两半,与目标值进行比较,根据比较结果
排除一半数组,直到找到目标值或数组为空。
适用条件:
1.数组必须是有序的。
2.数组中的元素必须是连续存储的。
3.查找的元素必须在数组范围内。
答案:略
五、编程题(共40分)
1.实现一个长度为10的整数线性表,完成以下操作:
a.初始化线性表
b.插入元素11到线性表末尾
c.删除线性表第一个元素
d.输出线性表所有元素
示例代码:
includestdio.h
includestdlib.h
typedefstruct{
intdata[10];
intlength;
}IntList;
voidinitList(IntList*list){
list-length=0;
}
voidinsertLast(IntList*list,intvalue){
if(list-length10){
list-data[list-length]=value;
list-length++;
}else{}else{
线性表已满
文档评论(0)