- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE #
PAGE
PAGE #
数据结构 -C 语言版》
第一章 绪论
单项选择题
1.在数据结构中,数据的基本单位是
A. 数据项 B. 数据类型 C. 数据元素
D. 数据变量
2.数据结构中数据元素之间的逻辑关系被称为 __ 。
D. 数据的逻辑结构D. 物理结构数据的存储结构 B.
D. 数据的逻辑结构
D. 物理结构
3.在数据结构中,与所使用计算机无关的是数据的 ___。
存储结构 B. 逻辑和物理结构 C. 逻辑结构
4.在链式存储结构中,数据之间的关系是通过 体现的。
数据在内存的相对位置 B. 指示数据元素的指针
C. 数据的存储地址 D. 指针
5.计算算法的时间复杂度是属于一种 ___。
事前统计的方法 B. 事前分析估算的方法
C. 事后统计的方法 D. 事后分析估算的方法
6.在对算法的时间复杂度进行估计的时候,下列最佳的时间复杂度是
n2 B. nlogn C. n D. logn
设使用某算法对 n个元素进行处理,所需的时间是 T(n)=100nlog2n+200n+2000,则该算
法的渐近时间复杂度为 ___。
O(1) B. O(n) C. O(200n) D. O(nlog2n)
CDCBBDD
第二章线性表
单项选择题
?链表不具有的特点是 。
A.可随机访问任一元素 B.插入和删除时不需要移动元素
C.不必事先估计存储空间 D.所需空间与线性表的长度正比
设顺序表的每个元素占 8个存储单元。第1个单元的存储地址是 100,则第6个元素占
用的最后一个存储单元的地址为 。
A. 139B. 140
A. 139
B. 140
C. 147
D. 148
?在线性链表存储结构下,插入操作算法
A.需要判断是否表满
A.需要判断是否表满
C.不需要判断表满
?在一个单链表中,若删除
需要判断是否表空
D.需要判断是否表空和表满 p所指结点的后继结点,则执行
A. p->n ext =
A. p->n ext = p->n ext- >n ext;
C. p = p->n ext- >n ext;
D. p = p->n ext; p->n ext = p->n ext- >n ext;
.将长度为n的单链表接在长度为 m的单链表之后的算法时间复杂度为
0( n) B. 0(1) C. 0(m) D. 0(m+n)
?需要预分较大空间,插入和删除不需要移动元素的线性表,其存储结构是
A.单链表 B.静态链表 C.线性链表 D.顺序存储方式
ACCABB
填空题
?在带表头结点的单链表中,当删除某一指定结点时,必须找到该结点的 结点。
?在单链表中,指针 p所指结点为最后一个结点的条件是 。
?将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是
4?在一个长度为n的顺序表中第i个元素(1 < i < n)之前插入一个元素时,需向后移动元 素的个数是 。
5.在长度为n的顺序表中插入一个元素的时间复杂度为
1前驱
2 _p-> next==NULL
3.1
n-i+1
5.O(n)
例题解析
【例 2-1】 编写一个算法将一个单链表逆转,要求在原表上进行,不允许重新建链表。 解:该算法可以在遍历原表的时候将各结点的指针逆转, 从原表的第一个结点开始, 头 结点的指针在最后修改成指向原表的最后一个结点, 即新表的第一个结点。 实现本题功能的 函数如下:
void inverse(Lnode *h)
{s=h->next;
if(s==NULL) return;
q=NULL;
p=s;
while(p!=NULL)
{ p=p->next;
s->next=q; /* 逆转指针 */
q=s; /* 指针前移 */
s=p;
}
h->next=q; /* 头指针 h 的后继是 p*/
}
【例 2-2】 编写一算法将两个按元素值递增有序排列的单链表 A 和 B 归并成一个按元素 值递增有序排列的单链表 C。
解:对于两个或两个以上的,结点按元素值有序排列的单链表进行操作时,应采用“指 针平行移动, 依次扫描完成” 的方法。 从两表的第一个结点开始顺链表逐个将对应数据元素 进行比较, 复制小的并插入 c 表尾。当两表中之一已到表尾, 则复制另一个链表的剩余部分, 插入到 c 表尾。设 pa、pb 分别指向两表当前结点, p 指向 c 表的当前表尾结点。若设 A 中 当前所指的元素为 a, B中当前所指的元素为 b,则当前应插入到 C中的元素c为
a a b
c
b a b
例如: A=(3,5,8,11)
B=(2,6,8,9,11,15,20)
则 C=(2,3,5,6,8,8,9,11,11,1
1亿VIP精品文档
相关文档
最近下载
- 年产60万千升啤酒项目一期工程(年产30万千升啤酒)环境影响评价报告书.doc VIP
- 北师大版小学数学六年级下册《图形的放大和缩小》教学反思.docx
- 架空输电线路防雷技术导则(Q_CSG1107002-2018).pdf
- 第6课 三国两晋南北朝政权更迭与民族交融 【中职备课精研】《中国历史》以图证史教学课件(高教版2023•基础模块).pptx
- 湖南省部分地区上学期高三12月语文试题分类汇编:文学类文本阅读.docx VIP
- 国网新员工的工作总结PPT.pptx
- 2024年中考英语第一次模拟考试(南通卷)(江苏专用).pdf VIP
- 灵宝市城乡总体规划(2016-2035).doc
- 2023年09月南京工业大学浦江学院招聘工商管理专业教师笔试历年难易错点考题荟萃附带答案详解.docx
- GBT 51402-2021城市客运交通枢纽设计标准.doc
文档评论(0)