



付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章线性表一、选择题线性表是()A.一个有限序列,可以为空 B.一个有限序列,不可以为空 C.一个无限序列,可以为空 D.一个无限序列,不可以为空一维数组与线性表的特征是()。 A.前者长度固定,后者长度可变 B.两者长度均固定 C.后者长度固定,前者长度可变 D.两者长度均可变用单链表方式存储的线性表,存储每个结点需要两个域,一个数据域,另一个是(). A.当前结点所在地址域 B.指针域 C.空指针域 D.空闲域用链表表示线性表的优点是()。 A.便于随机存取 B.便于进行插入和删除操作 C.占用的存储空间较顺序表少 D.元素的物理顺序与逻辑顺序相同在具有n个结点的单链表中,实现___的操作,其算法的时间复杂度都是O(n)。 A.遍历链表和求链表的第i个结点 D.删除地址为P的结点的后继结点 B.在地址为P的结点之后插入一个结点C.删除开始结点下面关于线性表的叙述中,错误的是()。 A.线性表采用顺序存储必须占用一片连续的存储单元 B.线性表采用顺序存储便于进行插入和删除操作 C.线性表采用链式存储不必占用一片连续的存储单元 D.线性表采用链式存储便于进行插入和删除操作已知单链表的每个结点包括一个指针域next,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的结点之后,下面的操作序列中正确的是()。 A.q=p->next; p->next=q->next; B.p->next=q->next; q=p->next; C.q->next=p->next; p->next=q; D.p->next=q; q->next=p->next;设al,a2,a3为三个结点;p,10,20代表地址,则如下的链表存储结构称为()。 A.链表 B.单链表 C.双向循环链表 D.双向链表单链表的存储密度()。 A.大于1 B.等于1 C.小于1 D.不能确定己知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址al,则第i个结点的地址为()。 A.al+(i-1)*m B.al+i*m C.al-i*m D.al+(i+1)*m在n个结点的顺序表中,算法的时间复杂度是O(l)的操作是()。 A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B.在第i个结点之后插入一个新结点(1≤i≤n-1) C.删除第i个结点(1≤i≤n) D.将n个结点从小到大排序在线性表中()只有一个直接前驱和一个直接后继。 A.首元素 B.中间元素 C.尾元素 D.所有元素对具有n个结点的线性表进行查找运算,所需的算法时间复杂度为()。 A.0(n2) B.0(nlog2n) C.O(log2n) D.O(n)线性表采用顺序存储的缺点是()。 A.存储密度降低 B.只能顺序访问 C.元素的逻辑顺序与物理顺序不一致 D.插入、删除操作效率低以下链表结构中,从当前结点出发能够访问到任一结点的是()。 A.单向链表和双向链表 B.双向链表和循环链表 C.单向链表和循环链表 D.单向链表、双向链表和循环链表线性表是具有n个()的有限序列。 A.数据项 B.数据元素 C.表元素 D.字符若长度为n的线性表采用链式存储结构,访问其第i个元素的算法时间复杂度为()。 A.0(l) B.0(n) C.0(n2) D.0(log2n)指针P指向循环链表L的首元素的条件是()。 A.P==L B.L->next==P C.P->next==NULL D.P->next==L指针P所指的元素是双循环链表L的尾元素的条件是()。 A.P==L B.P->prior==L C.P==NULL D.P->next==L不带头结点的单链表L为空的条件是() A.L!=NULL B.L==NULL C.L->next==NULL D.L->next==L带头结点的单链表L为空的条件是() A.L!=NULL B.L==NULL C.L->next==NULL D.L->next==L两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元素前驱的条件是()。 A.P->next==Q->next B.P->next==Q C.Q->next==P D.P==Q在长度为n的顺序表中,若要删除第i(1≤i≤n)个元素,则需要向前移动元素的次数为()。 A.1 B.n一i C.n一i+1 D.n一i一l在长度为n的顺序表中第i(1≤i≤n)个位置上插入一个元素时,为留出插入位置所需移动元素的次数为()。 A.n-i B.i C.n–i+1 D.n-i-l假定己建立以下动态链表结构,且指针Pl和P2已指向如图所示的结点:则以下可以将P2所指结点从链表中删除并释放该结点的语句组是() A.pl->next=p2->next;free(pl); B.pl=p2;free(p2); C.pl->next=p2->next;free(p2); D.pl=p2->next;free(p2);若已建立如图所示的单向链表,则以下不能将s所指的结点插入到链表尾部,构成新的单向链表的语句组是()。 A.s->next=a->next->next;a->next->next=s; B.a=a->next;a->next=s;s->next=NULL; C.s->next=NULL;a=a->next;a->next=s; D.a=a->next;s->next=a->next;a->next=s->next;有如下函数,其中形参hl和h2分别指向2个不同链表的第一个结点,此函数的功能是()。 Voidfun(structnode*hl,structnode*h2){ structnode*t; t=hl; while(t->next!='\0') t=t->next;t->next=h2; } A.将链表h2接到链表h1后 B.将链表h1接到链表h2后 C.找到链表hl的最后一个结点由指针返回 D.将链表hl拆分成两个链表二、判断题循环链表不是线性表.(×)线性表就是顺序存储的表。(×)线性表只能用顺序存储结构实现。(×)链表中的头结点仅起到标识的作用。(√)线性表的链式存储结构优于顺序存储。(×)顺序存储的线性表可以实现随机存取。(√)顺序存储方式只能用于存储线性结构。(√)链表的每个结点都恰好包含一个指针域。(×)所谓静态链表就是一直不发生变化的链表。(×)链表中的结点可含多个指针域链表中的结点可含多个指针域,分别存放多个指针。集合与线性表的区别在于是否按关键字排序。(×)取线性表的第i个元素的时间同i的大小有关.(×)顺序存储结构的主要缺点是不利于插入或删除操作。(√)线性表的特点是每个元素都有一个前驱和一个后继。(×)对任何数据结构链式存储结构一定优于顺序存储结构。(×)顺序存储方式的优点是存储密度大,插入、删除效率高。(×)为了很方便的插入和删除数据,可以使用双向链表存放数据。(×)顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(×)顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。(×)线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。(√)线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。(√)在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。(×)在线性表的顺序结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。(×)在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。(×)链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。(√)在单链表中,任何两个元素的存储位置之间都有固定的联系,所以可以从头结点开始查找任何一个元素。(√)线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。(√)三、填空题顺序表中逻辑上相邻的元素在物理位置上 相邻。在链表中逻辑上相邻的元素的物理位置 相邻。带头结点的双循环链表L为空表的条件是: 。在单链表p结点之后插入s结点的操作是: 。顺序表相对于链表的优点有 和 。在双链表中要删除已知结点*p,其时间复杂度为 。在顺序表中访问任意一个结点的时间复杂度均为 。链接存储的特点是利用 来表示数据元素之间的逻辑关系。带头结点的双循环链表L中只有一个元素结点的条件是: 在单链表L中,指针p所指结点有后继结点的条件是: 在单链表中除首结点外,任意结点的存储位置都由 结点中的指针指示。已知指针p指向单链表L中的某结点,则删除其后继结点的语句是: 在n个结点的单链表中要删除已知结点*p,需要找到 .其时间复杂度为 。链表相对于顺序表的优点有 和 操作方便;缺点是存储密度 。建立单链表的算法时间复杂度;建立有序单链表的算法时间复杂度。在单链表中设置头结点的作用是 。对于双向链表,在两个结点之间插入一个新结点需修改的指针共 个,单链表为 个。在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动 个元素。在循环链表中,可根据一个结点的地址访问整个链表,而单链表中需知道 才能访问整个链表。顺序存储结构是通过 表示元素之间的关系的;链式存储结构是通过 表示元素之间的关系的。有一单链表结构如下,若要删除值为c的结点,应做的操作是 在n个结点的顺序表中插入一个结点,平均需要移动 个结点,具体的移动次数取决于 。在n个结点的顺序表中删除一个结点,平均需要移动 个结点,具体的移动次数取决于 。在双向循环链表中,向p所指的结点之后插入指针f所指的结点,其操作是 、 、 、 。线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是 。循环单链表与非循环单链表的主要不同是,循环单链表尾结点的指针,而非循环单链表的尾结点指针。当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用 存储结构。线性表L=(a1,a2,…,an)用数组存储。假定删除表中任一元素的概率相同,则删除一个元素平均需要移动的元素个数是。在单链表中要在已知结点*p之前插入一个新结点,需找到 ,其时间复杂度为 ;而在双链表中,完成同样操作时其时间复杂度为 。对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为 ,在给定值为x的结点后插入一个新结点的时间复杂度为 。根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成 和 ;而又根据指针的连接方式,链表又可分成 和 。在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句:s^.next:=p;s^.prior:= ;p^.prior:=s; :=s;设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点,若将结点y插入结点x之后,则需要执行以下语句: ; ;设有结点定义如下,且已建立如下图所示的带有头结点的单向链表:structnode{intdata;structnode*next;};函数sum的功能是:计算链表中各结点数据域之和,作为函数值返回。请填空。intsum(structnode*head){ints=0;structnode*p;p=head->next;do{s=s+;p=p->next;}while(p!=);returns;}己知head指向一个带有头结点的单向链表,链表中每个结点包含整型数据域(data)和指针域(next)。以下算法用来查找链表所有结点中数据域值最大的结点的位置,由指针s传回调用程序。请填空。structlink{ chardata; structlink*next;};main(){ structlink*head,*q; findmax(head,&q); printf("max=%d\n",q->data);}findmax(structlink*head,structlink**s){ structlink*p; p=head->next; *s=p; while()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮企业餐饮产业链整合与供应链优化顾问服务协议
- 代驾租赁车辆合同服务质量规范
- 高端制造厂房租赁合同样本
- 农村交房协议书范本
- 跨国贸易保理融资合作协议
- 股权退出协议范本:针对公司撤资的全面合作协议
- 标准商铺租赁及商业活动策划服务合同
- 高新技术厂房交易合同模板
- 出差人员交通补贴及费用结算规范合同
- 车辆抵押租赁与汽车维修保养合作协议
- 江西省上饶市广信区2023-2024学年七年级下学期6月期末考试数学试卷(含答案)
- 数据标注教学课件
- 2025年山东高考化学真题及答案
- 2025-2030年中国鱼胶原蛋白肽行业市场现状供需分析及投资评估规划分析研究报告
- 涉密项目保密管理制度
- 形势与政策(2025春)超星学习通章节测试、考试及完整答案(夺冠)
- 东莞市招聘事业编制教职员笔试真题2024
- 2025年人教部编版语文五年级下册期末检测真题及答案(2套)
- 《中医养生学》课件-八段锦
- 【MOOC】电路分析基础-北京邮电大学 中国大学慕课MOOC答案
- 湖南省长沙市雨花区2023-2024学年五年级下学期期末考试英语试题
评论
0/150
提交评论