




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 线性表一、选择题1线性表是具有n个_C_的有限序列(n0)。A表元素 B字符 C数据元素 D数据项2一个顺序表所占用的存储空间大小与_B_无关。A表的长度B元素的存放顺序C元素的类型D元素中各字段的类型3线性表的顺序存储结构是一种_A_。A随机存取的存储方式B顺序存取的存储方式C索引存取的存储方式DHash存取的存储方式4. 若线性表采用顺序存储结构,每个元素占用 4 个存储单元,第一个元素的存储地址为 100,则第 12 个元素的存储地址是_B_。A112 B.144 C.148 D.4125. 线性表是_A_。A一个有限序列,可以为空 B一个有限序列,不能为空C一个无限序列,可以为空 D一个无限序列,不能为空6对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为_C_。AO(n)O(n) BO(n)O(1) CO(1)O(n) DO(1)O(1)7若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中_A_中数据元素。An-i Bn+i Cn-i+1 Dn-i-18对顺序存储的线性表,设其长度为n,在任何位置插入或删除操作都是等概率的。删除一个元素时平均要移动表中的_C_个元素。A.n/2 B.(n+1)/2 C.(n-1)/2 D.n9若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为_C_。(1in+1)AO(0) BO(1) CO(n) DO(n2)10线性表中各链接点之间的地址_C_。A必须连续B部分地址必须连续C不一定连续D连续与否无所谓11在n个结点的线性表的数组表示中,算法的时间复杂度是O(1)的操作是_A_。A访问第i个结点后插入一个新结点(1in)和求第i个结点的直接前驱(2in)B在第i个结点后插入一个新结点(1in)C删除第i个结点(1in)D以上都不对12单链表中,增加一个头结点的目的是为了_C_。A使单链表至少有一个结点B标识表结点中首结点的位置C方便运算的实现D说明单链表是线性表的链式存储13对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是_B_。Ahead=NULLBhead-next=NULLChead-next=headDhead!=NULL14将长度为n的单链表链接在长度为m的单链表后面的算法的时间复杂度采用大O形式表示应该是_C_。AO(1) BO(n) CO(m) DO(n+m)15静态链表中指针表示的是_C_。A下一个元素的地址B内存储器的地址C下一个元素在数组中的位置D左链或右链指向的元素的地址16非空的循环单链表head的尾结点p满足_A_。AP-link=head BP-link=NULL CP=NULL DP=head17某线性表用带头结点的循环单链表存储,头指针为head,当head-next-next=head成立时,线性表的长度是_B_。A0 B1 C2 D318在什么情况下,应使用链式结构存储线性表L?_B_A需经常修改L中的结点值B需不断对L进行删除插入C需要经常查询L中的结点值DL中结点结构复杂19与单链表相比较,双向链表的优点之一是_D_。A可以省略头结点指针B可以随机访问C插入、删除操作更简单D顺序访问相邻结点更灵活20某线性表常发生的操作为删除第一个数据元素和最后一个元素后添加新元素,采用_D_作为存储结构,能使其存储效率和时间效率最高。A单链表B仅用头指针的循环单链表C双向循环链表D仅用尾指针的循环单链表21若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用_D_存储方式最节省运算时间。A单链表 B双链表 C单循环链表 D带头结点的双循环链表22对于一个线性表既要求能够进行较快的插入和删除,又要求存储结构能够反映数据之间的逻辑关系,则应用_C_。A顺序方式存储 B散列方式存储 C链接方式存储 D以上方式均可23若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用_A_存储方式最节省时间。A顺序表 B双链表 C带头结点的双循环链表 D单循环链表24若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式为_D_。A单链表 B双向链表 C单循环链表 D顺序表25下面哪一条是顺序存储结构的优点?_C_A插入运算方便B可方便地用于各种逻辑结构的存储表示C存储密度大D删除运算方便26下面关于线性表的叙述中,错误的是_B_。A.线性表采用顺序存储,必须占用一批连续的存储单元B.线性表采用顺序存储,便于进行插入和删除的操作C.线性表采用链接存储,不必占用一片连续的存储单元D.线性表采用链接存储,便于插入和删除操作27在非空线性链表中由p所指的链接点后面插入一个由q所指的链接点的过程是依次执行动作_B_。Aq-link=p;p-link=q;Bq-link=p-link;p-link=q;Cq-link=p-link;p=q;Dp-link=q;q-link=p;26在非空双向循环链表中由q所指的链接点前面插入一个由p指的链接点的过程是依次执行语句p-rlink=q;p-llink=q-llink;q-llink=p; _D_。Aq-rlink-llink=p;Bq-llink-rlink=p;Cp-rlink-llink=p;Dp-llink-rlink=p;29在非空双向循环链表中由q所指的链接点后面插入一个由p指的链接点的动作依次为_D_。Ap-llink=q ; p-rlink=q-rlink ; q-rlink=p ; q-rlink-llink=p;Bp-rlink=q-rlink ; p-llink=q ; q-rlink ; q-rlink-llink=p;Cp-llink=q ; p-rlink=q-rlink ; q-rlink=p ; p-llink-rlink=p;Dp-llink=q ; p-rlink=q-rlink ; q-rlink=p ; p-rlink-llink=p;30在双向链表存储结构中,删除p所指的结点时须修改指针_A_。Ap-llink-rlink=p-rlink ; p-rlink-llink=p-llink ;Bp-llink=p-llink-llink ; p-llink-rlink=p ;Cp-rlink-llink=p ; p-rlink=p-rlink-rlink ;Dp-rlink=p-llink-llink ; p-llink=p-rlink-rlink ;31单链表的存储密度为_C_。A大于1 B等于5 C小于1 D不能确定二判断题1. 线性表的逻辑顺序与存储顺序总是一致的。 ( )2. 线性表的顺序存储结构比链式存储结构更好。 ( )3. 线性表中的所有元素都有一个前驱元素和后继元素。 ( )4. 不论线性表采用顺序存储结构还是链式存储结构,删除值为X 的结点的时间复杂度均为O(n)。 ( )5. 线性的数据结构可以顺序存储,也可以链接存储。非线性的数据结构只能链接存储。 ( )6. 非空线性表中任意一个数据元素都有且仅有一个直接后继元素。( )7. 用一组地址连续的存储单元存放的元素一定构成线性表。 ( )8. 线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。( )9. 顺序表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 ( )10. 顺序表中所有结点的类型必须相同。 ( )11. 对链表进行插入和删除操作时不必移动链表中结点。 ( )12. 非空的双向循环链表中任何结点的前驱指针均不为空。 ( )13. 链式存储在插入和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。 ( )14. 单链表从任何一个结点出发,都能访问到所有结点。 ( )15. 符号p-next 出现在表达式中表示p 所指的那个结点的内容。( )16. 带表头结点的双向循环链表判空的条件是: first-rlink = first(first 为表头指针)。 ( )三、综合应用题1.利用顺序表的操作,实现以下函数: 1)从顺序表中删除具有最小值的元素并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。 2)从顺序表中删除第i个元素并由函数返回被删除元素的值,如果i不合理或顺序表为空则显示出错信息并退出运行。 3)向顺序表中第i个位置插入一个新元素x。如果i不合理则显示出错信息并退出运行 4)从顺序表中删除具有给定值x的所有元素。 5)从顺序表中删除其值在给定值s与t之间(要求s小于t)的所有元素。如果s或t不合理或者顺序表为空,则显示错误信息并退出。 6)从有序顺序表中删除其值在给定值s与t之间(要求s小于t)的所有元素,如果s或t不合理或顺序表为空,则显示错误信息并退出。 7)将两个有序顺序表合并成一个新的有序顺序表并由函数返回结果顺序表 8)从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不相同。2.请设计算法将不带头结点的单链表就地逆置。3.有一个单链表L(至少有1个结点),其头结点指针为head,编写一个过程将L逆置,即最后一个结点变成第一个结点,原来倒数第二个结点变成第二个结点,如此等等。4.设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:找出最小值结点,且打印该数值。若该数值是奇数,则将其与直接后继结点的数值交换。若该数值是偶数,则将其直接后继结点删除。5.给定(已生成)一个带表头结点的单链表,设head为头指针,结点的结构为(data,next),data为整型元素,next为指针,试写出算法:按递增次序输出单链表中各结点的数据元素,并释放结点所占的存储空间(要求:不允许使用数组作辅助空间)。6.假设有两个按元素值递增次序排列的线性表,并要求利用原来两个单链表的结点存放归并后的单链表。7.在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。例如:(7,10,10,21,30,42,42,42,51,70)将变为(7,10,21,30,42,51,70)。8.试编写在带头结点的单链表中删除一个最小值结点的高效算法:void delete(Linklist &L)。9.已知两个单链表A和B,其头指针分别为heada和headb,编写一个过程从单链表A中删除自第i个元素起的共len个元素,然后将单链表A插入到单链表B的第j个元素之前。10.已知非空线性表由list指出,链结点的构造为(data,link)。请写一算法,将链表中数据域值最小的那个链结点移到链表的最前面(要求:不得额外申请新的链结点)。11.带头结点且头指针为ha和hb的两线性表A和B分别表示两个集合,两表中的元素皆为递增有序。请写一算法求A和B的并集A U B,要求该并集中的元素仍保持递增有序,且要利用A和B的原有结点空间。12.已知两个链表A和B分别表示两个集合,其元素递增排列。编写一函数程序,求A与B的交集,并存放于A链表中。13.设计一个求两个集合A和B之差C=A-B的程序,即当且仅当e是A的一个元素,但不是B中的一个元素时,e才是C中的一个元素。集合用有序链表实现,初始时,A、B集合中的元素按递增排列,C为空;操作完成后,A、B保持不变,C中元素按递增排列。下面的函数append(last,e)是把值为e的新结点链接在由指针last指向的结点的后面,并返回新结点的地址;在执行A-B运算之前,用于表示结果集合的链表首先增加一个附加的表头结点,以便新结点的添加,当A-B运算执行完毕后,再删除并释放表示结果集合的链表的表头结点。typedef struct nodeint element;struct node *link;NODE;NODE *A,*B,*C;NODE *append (NODE *last,int e) last-link=(NODE*)malloc(sizeof(NODE); last-link-element=e; return (last-link);NODE *difference (NODE *A,NODE *B)14.设一单向链表的头指针为head,链表的记录中包含着整数类型的key域,试设计算法,将此链表的记录按照key递增的次序进行就地排序。15.设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于等于零的结点(链表A的元素类型为整型,要求B、C表利用A表的结点)。16.将一个带头结点的单链表A分解为两个带头结点的单链表A和B,使得A表中含有原表中序号为奇数的元素,而B表中含有原表中序号为偶数的元素,且保持其相对顺序不变。 1)写出其类型定义。 2)写出算法。17.两个整数序列A=a1,a2,a3,am和B=b1,b2,b3,bn已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。18.已知线性表(a1,a2,a3,an)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 写字安全知识培训
- 奇怪的表情课件
- 美丽的建筑课件
- 课件条例轻松学观后感
- 幼儿绘画小班课件
- 创伤包扎方法培训
- 课件显示调色盘
- 广东护自考试题及答案讲解
- 广东国际结算自考试题及答案
- 广东高压本自考试题及答案
- 1.3加与减①(课件)数学沪教版二年级上册(新教材)
- 2025至2030中国HPV相关疾病行业项目调研及市场前景预测评估报告
- 许昌襄城县特招医学院校毕业生招聘笔试真题2024
- 2025版全新离婚协议书:财产分割、子女抚养及离婚后财产保全合同范本
- 石油钻井知识课件
- 永辉超市快消培训
- “学回信精神·助改革发展”专题调研报告
- 2025年医学基础知识题库及答案
- (2025秋新版)苏教版三年级数学上册全册教案
- 2025至2030中国催收外包服务行业销售模式及未来营销策略分析报告
- 职业院校实习生考核评价标准
评论
0/150
提交评论