下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 线性表一、选择题1. 线性表是( )A一个有限序列,可以为空B一个有限序列,不可以为空C一个无限序列,可以为空D一个无限序列,不可以为空2. 一维数组与线性表的特征是( )。 A前者长度固定,后者长度可变 B两者长度均固定 C后者长度固定,前者长度可变 D两者长度均可变 3. 用单链表方式存储的线性表,存储每个结点需要两个域,一个数据域,另一个是( ). A当前结点所在地址域B指针域 C空指针域D空闲域 4. 用链表表示线性表的优点是( )。 A便于随机存取B便于进行插入和删除操作 C占用的存储空间较顺序表少D元素的物理顺序与逻辑顺序相同 5. 在具有 n 个结点的单链表中,实现_的操
2、作,其算法的时间复杂度都是O(n)。 A遍历链表和求链表的第i个结点D删除地址为P的结点的后继结点B在地址为P的结点之后插入一个结点 C删除开始结点6. 下面关于线性表的叙述中,错误的是( )。 A线性表采用顺序存储必须占用一片连续的存储单元 B线性表采用顺序存储便于进行插入和删除操作 C线性表采用链式存储不必占用一片连续的存储单元 D线性表采用链式存储便于进行插入和删除操作7. 已知单链表的每个结点包括一个指针域next,它指向该结点的后继结点。现要将指针 q 指向的新结点插入到指针 p 指向的结点之后,下面的操作序列中正确的是( )。A . q = p->next; p->ne
3、xt = 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 ; 8. 设 al,a2, a3为三个结点; p , 10 , 20 代表地址,则如下的链表存储结构称为( )。A链表B单链表C双向循环链表D双向链表 9. 单链表的存储密度( )。 A大于 1 B等于1C小于1D不能确定 10. 己知一个顺序存储的线性表,设每个结点需占 m 个存储单元,若第一
4、个结点的地址al ,则第i个结点的地址为( )。A. al+(i-1)*mB. al+i*mC. al-i*mD. al+(i+1)*m 11. 在 n 个结点的顺序表中,算法的时间复杂度是 O(l)的操作是( )。 A访问第i个结点(1in)和求第 i 个结点的直接前驱(2in) B在第 i 个结点之后插入一个新结点(1in-1) C删除第 i 个结点( 1in ) D将 n 个结点从小到大排序 12. 在线性表中( )只有一个直接前驱和一个直接后继。 A首元素B中间元素C尾元素D所有元素 13. 对具有 n 个结点的线性表进行查找运算,所需的算法时间复杂度为( )。 A. 0 (n2)B.
5、 0 (nlog2n)C. O (log2n)D. O (n) 14. 线性表采用顺序存储的缺点是( )。 A存储密度降低B只能顺序访问 C元素的逻辑顺序与物理顺序不一致D插入、删除操作效率低 15. 以下链表结构中,从当前结点出发能够访问到任一结点的是( )。A单向链表和双向链表B双向链表和循环链表 C单向链表和循环链表D单向链表、双向链表和循环链表 16. 线性表是具有 n 个( )的有限序列。 A数据项B数据元素C表元素D字符 17. 若长度为 n 的线性表采用链式存储结构,访问其第 i 个元素的算法时间复杂度为( )。A. 0 ( l )B. 0 ( n )C. 0 ( n2 )D.
6、0 ( log2n )18. 指针 P 指向循环链表 L 的首元素的条件是( )。 A. PLB. L->nextPC.P->next= =NULLD. P->nextL 19. 指针 P 所指的元素是双循环链表 L 的尾元素的条件是( )。 A. PLB. P->priorLC. PNULLD. P->nextL 20. 不带头结点的单链表L为空的条件是( )A. L!NULLB. LNULLC. L->nextNULLD. L->nextL21. 带头结点的单链表L为空的条件是( )A. L!NULLB. LNULLC. L->nextNUL
7、LD. L->nextL22. 两个指针 P 和 Q ,分别指向单链表的两个元素, P 所指元素是 Q 所指元素前驱的条件是( )。 A. P->nextQ->nextB. P->nextQC. Q->nextPD. PQ 23. 在长度为 n 的顺序表中,若要删除第 i (1in )个元素,则需要向前移动元素的次数为( )。 A. 1B. n一iC. n一i+1D. n一i一l 24. 在长度为 n 的顺序表中第 i (1in)个位置上插入一个元素时,为留出插入位置所需移动元素的次数为( )。A. n-iB. iC. ni+1D. n-i-l 25. 假定己建立
8、以下动态链表结构,且指针 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); 26. 若已建立如图所示的单向链表,则以下不能将 s 所指的结点插入到链表尾部,构成新的单向链表的语句组是( )。A . s->next = a->next->next ; a->next-&g
9、t;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 ;27. 有如下函数,其中形参 hl 和 h2 分别指向 2 个不同链表的第一个结点,此函数的功能是( )。Void fun( struct node * hl , struct node * h2 ) stru
10、ct node * t ; t = hl ;while ( t->next ! '0' ) t = t->next ; t->next = h2 ; A将链表 h2 接到链表 h1 后B将链表 h1 接到链表 h2 后 C找到链表 hl 的最后一个结点由指针返回D将链表 hl 拆分成两个链表 二、判断题1. 循环链表不是线性表. ( × )2. 线性表就是顺序存储的表。( × ) 3. 线性表只能用顺序存储结构实现。( × ) 4. 链表中的头结点仅起到标识的作用。( )5. 线性表的链式存储结构优于顺序存储。( × )
11、 6. 顺序存储的线性表可以实现随机存取。( ) 7. 顺序存储方式只能用于存储线性结构。( )8. 链表的每个结点都恰好包含一个指针域。( × )9. 所谓静态链表就是一直不发生变化的链表。( × )链表中的结点可含多个指针域,分别存放多个指针。 10. 集合与线性表的区别在于是否按关键字排序。( × ) 11. 取线性表的第i个元素的时间同i的大小有关. ( × ) 12. 顺序存储结构的主要缺点是不利于插入或删除操作。( )13. 线性表的特点是每个元素都有一个前驱和一个后继。( × ) 14. 对任何数据结构链式存储结构一定优于顺序存储
12、结构。( × ) 15. 顺序存储方式的优点是存储密度大,插入、删除效率高。( × ) 16. 为了很方便的插入和删除数据,可以使用双向链表存放数据。( × ) 17. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( × ) 18. 顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。( × ) 19. 线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( ) 20. 线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。( ) 21. 在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一
13、定相邻。( × ) 22. 在线性表的顺序结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。( × ) 23. 在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。( × ) 24. 链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。 ( ) 25. 在单链表中,任何两个元素的存储位置之间都有固定的联系,所以可以从头结点开始查找任何一个元素。( )26. 线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。( )三、填空题1. 顺序表中逻辑上
14、相邻的元素在物理位置上相邻。2. 在链表中逻辑上相邻的元素的物理位置相邻。3. 带头结点的双循环链表L为空表的条件是:。4. 在单链表p结点之后插入s结点的操作是:。5.6. 顺序表相对于链表的优点有和。7. 在双链表中要删除已知结点*p ,其时间复杂度为。8. 在顺序表中访问任意一个结点的时间复杂度均为。9. 链接存储的特点是利用来表示数据元素之间的逻辑关系。10. 带头结点的双循环链表L中只有一个元素结点的条件是:11. 在单链表L中,指针p所指结点有后继结点的条件是:12.13. 在单链表中除首结点外,任意结点的存储位置都由结点中的指针指示。14. 已知指针p指向单链表L中的某结点,则删
15、除其后继结点的语句是:15.16. 在 n 个结点的单链表中要删除已知结点*p ,需要找到.其时间复杂度为。17. 链表相对于顺序表的优点有和操作方便;缺点是存储密度。18. 建立单链表的算法时间复杂度 ;建立有序单链表的算法时间复杂度 。19. 在单链表中设置头结点的作用是。20. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共个,单链表为个。21. 在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动个元素。22. 在循环链表中,可根据一个结点的地址访问整个链表,而单链表中需知道才能访问整个链表。23. 顺序存储结构是通过表示元素之间的关
16、系的;链式存储结构是通过表示元素之间的关系的。24. 有一单链表结构如下,若要删除值为 c 的结点,应做的操作是25. 在 n 个结点的顺序表中插入一个结点,平均需要移动个结点,具体的移动次数取决于。26. 在 n 个结点的顺序表中删除一个结点,平均需要移动个结点,具体的移动次数取决于。27. 在双向循环链表中,向p所指的结点之后插入指针f所指的结点,其操作是、。28. 线性表L=(a1,a2,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是。29. 循环单链表与非循环单链表的主要不同是,循环单链表尾结点的指针 ,而非循环单链表的尾结点指针 。30. 当
17、线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。31. 线性表 L = ( a1, a2 , ,an)用数组存储。假定删除表中任一元素的概率相同,则删除一个元素平均需要移动的元素个数是 。32. 在单链表中要在已知结点*p 之前插入一个新结点,需找到,其时间复杂度为;而在双链表中,完成同样操作时其时间复杂度为。33. 对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为,在给定值为x的结点后插入一个新结点的时间复杂度为。34. 根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成和;而又根据指针的
18、连接方式,链表又可分成和。35. 在双向链表结构中,若要求在p 指针所指的结点之前插入指针为s 所指的结点,则需执行下列语句:s .next:=p; s .prior:= ;p .prior:=s;:=s;36. 设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点 , 若将结点y插入结点x之后,则需要执行以下语句: ; ;37. 设有结点定义如下,且已建立如下图所示的带有头结点的单向链表: struct node int data ; struct node * next ; ;函数 sum 的功能是:计算
19、链表中各结点数据域之和,作为函数值返回。请填空。 int sum (struct node * head ) int s = 0 ; struct node * p ; p = head->next ; do s= s ;p = p->next ; while ( p ! );return s; 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19. 己知 head 指向一个带有头结点的单向链表,链表中每个结点包含整型数据域( data ) 和指针域( next )。以下算法用来查找链表所有结点中数据域值最大的结点的位置,由指针 s 传回调用程序。请填空。struct link char data ; struct link *next;main ( )struct link * head , * q ; findmax ( head , & q ) ;printf ( " max = % d n " , q->data ) ; findmax ( st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市空中交通规划与实施市场分析
- 2024年云计算平台软件许可合同
- 机械大学有哪些课程设计
- 机械原理螺旋桨课程设计
- 山东省青岛市第四中学八年级地理上册 1.2 中国的行政区划教案 (新版)湘教版
- 高中生物 第3章 第2节 第1课时 细胞器之间的分工教案 新人教版必修1
- 八年级生物下册 第七单元 生物圈中生命的延续和发展第二章 生物的遗传和变异第一节 基因控制生物的性状说课稿(新版)新人教版
- 2024-2025学年新教材高中生物 第五章 遗传信息的改变 第一节 基因突变教案 北师大版必修2
- 2024新教材高中政治 第一单元 生产资料所有制与经济体制 第一课 我国的生产资料所有制 1.2坚持两个毫不动摇教案 部编版必修2
- 2024秋八年级英语上册 Unit 2 My Favourite School Subject Lesson 8 E-mail Helps教学设计 (新版)冀教版
- 《培养良好的卫生习惯》主题班会(30张)课件
- 1到50带圈数字直接复制
- 医学学员沟通和接诊能力面试评分表
- 创业指导师培训计划
- 幼儿园中班数学《有趣的图形》课件
- 四年级上册数学课件-4.6 整数的四则运算(运算定律)▏沪教版 (共15张PPT)
- 《饲料标签》国标
- DB11-415-2016危险货物道路运输安全技术要求
- 草莓创意主题实用框架模板ppt
- 员工人事档案目录
- 各种各样的叶子 ()通用PPT课件
评论
0/150
提交评论