ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:21.79KB ,
资源ID:17287805      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17287805.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(线性结构总结Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

线性结构总结Word文件下载.docx

1、i. 插入前考虑的空间问题ii. 插入位置合法性考虑iii. 移动元素的顺序iv. 插入后元素个数变化v. 平均移动元素个数 删除运算vi. 删除前考虑的空间问题vii. 删除位置合法性考虑viii. 移动元素的顺序ix. 删除后元素个数的变化x. 平均移动元素个数 查找运算xi. 查找方法xii. 序列号和下标号的关系 顺序表长度计算方法4) 顺序表的优缺点 优点xiii. 无需为表示结点间的逻辑关系而增加额外的存储空间xiv. 可以方便地随机存储表中的任一结点 缺点xv. 插入和删除平均须移动一半结点xvi. 存储分配只能预先进行(静态),过大浪费空间,过小容易溢出3链表1) 链表的定义s

2、truct node datatype data; struct node *next;node *p , *q ; /*指针类型说明*/ 用一组任意的存储单元(可以是无序的)存放线性表的数据元素。 无序-可零散地分布在内存中的任何位置上。2) 链表的特点 链表中结点的逻辑次序和物理次序不一定相同。即:逻辑上相邻未必在物理上相邻。 结点间的相对位置由链表中的指针域指示,结点在存储器中的存储位置是随意的。3) 链表的基本运算 结点P的数据域赋值 指针变量P顺链向后移动一个结点位置 在结点P之后插入新结点S 删除结点P之后的结点 单链表判断表尾 单链表长度求取 在表首插入结点S 在表尾插入结点S

3、循环链表求取表尾结点 双向链表中在结点P后插入结点S 双向链表中删除结点P4) 链表的优缺点xvii. 空间不必要连续,插入和删除不需要通过移动结点来完成xviii. 空间不需要事先估计,一般不会有溢出问题xix. 计算长度困难xx. 访问结点所需要的时间受链表长度影响二、栈1栈的特点 栈顶(TOP)-允许插入和删除的一端。 栈底(bottom)-不允许插入和删除的一端。 进栈-最先插入的元素放在栈的底部。 退栈-最后插入的元素最先退栈。 栈-又称为后进先出 线性表(LIFO表,Last In First Out)2顺序栈1) 顺序栈的定义typedef struct elementtype

4、datamaxsize; int top; seqstack;2) 顺序栈的特点 第一个入栈的元素放在数组下标为0的位置 入栈和出栈都发生在最大下标处3) 顺序栈的基本运算 如何判断栈空 如何判断栈满 进栈操作 出栈操作 求取栈中元素个数4) 顺序栈的优缺点i. 插入和删除操作不需要移动结点ii. 栈中元素个数确定容易i. 空间大小在最初不容易确定3链栈1) 链栈的定义typedef struct elementtype data; struct seqstack *next; seqstack;2) 链栈的特点 使用不带头结点的单链表 入栈操作发生在链栈的表头 出栈操作相当于删除表头第一个结

5、点3) 链栈的基本运算4) 链栈的优缺点i. 不受空间大小限定i. 计算长度困难三、队列1队列的特点 队头(front):允许删除(出队)的一端 队尾(Rear):允许插入的一端 空队列:队列中没有元素 进队:队的插入运算,即插入新的队尾元素 出队:队的删除运算,删除队首元素 只允许在表的一端进行插入,而在表的另一端进行删除,是一种先入先出的线性表(FIFO)2顺序队列1) 顺序队列的定义typedef struct datatype datamaxsize; int front,rear; /*队首、队尾*/ linkqueue;2) 顺序队列的特点 入队发生在最大下标处,出队发生在最小下标

6、处,会出现假溢出问题 解决假溢出的办法 入队和出队仍然需要考虑溢出问题3) 顺序队列的基本运算 如何判断队列空 如何判断队列满 入队操作 出队操作 求取队中元素个数4) 顺序队列的优缺点ii. 动态操作容易ii. 空间确定不容易3链队列1) 链队列的定义Typedef struct Node elementtype data; struct Node *next;Qnode; /定义链队列的结点 Qnode *front, *rear;Lqueue; /定义指向链队列的指针2) 链队列的特点 使用带头结点的单链表 入队操作为链表的尾插 出队操作相当于删除第一个结点3) 链队列的基本运算4) 链

7、队列的优缺点iii. 不受空间大小限定iii. 计算长度困难线性表 栈 队列一、选择题1一个向量第一个元素的存储地址是 100 ,每个元素的长度为 2 ,则第 5 个元素的地址是:( )( A ) 110 ( B ) 108 ( C ) 100 ( D ) 120 2已知一个顺序存储的线性表,设每个结点需要占m个存储单元,若第一个结点的地址为da,则第i个结点的地址为:( )A)da+(i-1)*m B) da+i*m C) da-i*m D) da+(i+1)*m3链表是一种采用( )存储结构存储的线性表。( A )顺序 ( B )链式 ( C )星式 ( D )网状 4线性表若采用链式存储

8、结构时,要求内存中可用存储单元的地址:( A )必须是连续的 ( B )部分地址必须是连续的 ( C )一定是不连续的 ( D )连续或不连续都可以 5线性表在 ( )情况下适用于使用链式结构实现。()需经常修改中的结点值 ()需不断对进行删除插入 ()中含有大量的结点 ()中结点结构复杂 6在长度为 n 的顺序表的第 i (1in+1) 个位置上插入一个元素,元素的移动次数为 ( ) A.n-i+1 B.n-i C.i D.i-17. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行( )。(A)s-link=p;p-link=s;(B)s-link=p-link;(

9、C)s-p=s;(D)p-s-8. 在循环链表中first为指向链表表头的指针,current为链表当前指针,在循环链表中检测current是否达到链表表尾的语句是( )。(A)current-link=NULL (B)first-link=current(C)first=current (D)current-link=first9. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较( )个结点。A. n B. n/2 C.(n-1)/2 D. (n+1)/210. 用链表表示线性表的优点是 ( )。A. 便于随机存取 B. 花费的存储空间比顺序表少C. 便于插

10、入与删除 D. 数据元素的物理顺序与逻辑顺序相同11. 线性表的链接实现有利于( )运算。A、插入 b、读表元 c、查找 d、定位12. 线性表采用链式存储时,其地址( )。A 必须是连续的 B 部分地址是连续的C 一定是不连续的 D 连续与否均可以13. 设单链表中指针p指着结点a,若要删除a之后的结点(若存在),则需要修改指针的操作为( )。A、p-next=p-next-next b、p=p-nextC、 p= p-nextd、p-next=p14. 以下数据结构中不属于线性数据结构的是( ) A 队列 B 线性表 C 二叉树 D 栈15下列叙述中正确的是( )。 A. 线性表是线性结构

11、 B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二叉树是线性结构16在单链表中,增加头结点的目的是( A )。 A. 方便运算的实现 B. 使单链表至少有一个结点 C. 标识表结点中首结点的位置 D. 说明单链表是线性表的链式存储实现17线性表的顺序存储结构和线性表的链式存储结构分别是( )。A. 顺序存取的存储结构、顺序存取的存储结构B. 随机存取的存储结构、顺序存取的存储结构C. 随机存取的存储结构、随机存取的存储结构D. 任意存取的存储结构、任意存取的存储结构18线性表中正确的说法是( )。 A. 每个元素都有一个直接前驱和一个直接后继B. 线性表至少要求一个元素 C.

12、表中的元素必须按由小到大或由大到小排序D. 除了第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继19线性表是具有n个( )的有限序列。 A. 表元素 B. 字符 C. 数据元素 D. 数据项20某线性表最常用的运算是插入和删除,插入运算是指在表尾插入一个新元素,删除运算是指删除表头第一个元素,那么采用( )存储方式最节省运算时间。 A. 仅有尾指针的单向循环链表 B. 仅有头指针的单向循环链表 C. 单向链表 D. 双向链表21( )又称为FIFO表。A.队列 B.散列表 C.栈 D.哈希表22设依次进入一个栈的元素序列为c,a,b,d,不可得到出栈的元素序列有( )。

13、 A.a.b,c,d B.a,d,c,b C.b,a,d,c D.c,d,a,b23. 链式栈与顺序栈相比,一个比较明显的优点是 ( )。 A. 插入操作更加方便 B. 通常不会出现栈满的情况C. 不会出现栈空的情况 D. 删除操作更加方便24. 在一个顺序存储的循环队列中,队头指针指向队头元素的 ( A. 前一个位置 B. 后一个位置C. 队头元素位置 D. 队尾元素的前一位置25. 若一个栈的输入序列是1,2,3n,则输出序列的第一个元素是n,则第i个输出元素是( )。 n-i i C n-i+1 n-i-126. 栈的数组表示中,top为栈顶指针,栈空的条件是( )。(A) top=0

14、(B)top=maxSize (C)top=maxSize(D)top=-127. 在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是( )。 (A) front=maxSize (B)(rear+1)%maxSize=front (C) rear=maxSize (D)rear=front28. 栈和队列的共同特点是( )。 (A) 都是先进后出 (B)都是先进先出 (C) 只允许在端点处插入和删除 (D)没有共同点29若非空队列采用链式存储结构,front和rear分别为队头元素与队列尾元素的指针,删除此时队列的一个元素的操作时

15、依次执行pfront,( ),call RET(P)。 A.frontlink(rear) B.rearlink(p) C.rearlink(front) D.frontlink(p)30数组datam为循环队列的存储空间, front为队头指针, rare为队尾指针,则执行入队的操作为( )。A rare=rare+1 B rare=(rare+1)%(m-1) C rare=(rare-1)%m D rare=(rare+1)%m31. 将递归算法转换成对应的非递归算法时,通常需要使用( )。(a)栈 (b)队列 (c)链表 (d)数组32下列关于栈的叙述中正确的是( )。 A. 在栈中只

16、能插入数据 B. 在栈中只能删除数据 C. 栈是先进先出的线性表 D. 栈是先进后出的线性表33下列关于队列的叙述中正确的是( )。 A. 在队列中只能插入数据 B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表34栈和队列的共同点是( )。 A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点35初始为空的堆栈中依次插入元素f、e、d、c、b、a以后,连续进行了三次删除操作,此时的栈顶元素是( A. c B. d C. b D. e36循环单链表表示队列,正确的说法是(A. 可设一个头指针使入队、出队都方便B. 可设

17、一个尾指针使入队、出队都方便C. 必须设头、尾指针才能使入队、出队都方便D. 无论如何,只可能使入队方便37在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行( A. s- p- B. p- s-link=q; C. p-link=s- D. q-二、填空题1线性表中 _ 称为表的长度。2循环链表的主要优点是从任何一个结点出发可以遍历所有结点。3在一个单链表中删除p所指结点的下一个结点时,应执行以下操作:q=p-link=_ _Delete q4顺序存储方法是把逻辑上相邻的结点存储在物理位置 _ 的存储单元中。5已知L是无头结点的单链表,且P结点既不

18、是首元素结点,也不是尾元素结点,添加合适的语句。1) P结点之后插入结点S:S-next=P-next; P-next=S;2) P结点之前插入结点S:pre=L;while(pre-next!=P) pre=pre-next=P; pre- 3) 在表首插入结点S:next=L; L=S; 4) 在表尾插入结点S:while(P-next) P=P-P- S-next=NULL;6栈中元素的进出原则为 _ 。7在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印。该缓冲区应该是一个 结构,其主要特点是

19、。8在具有n个单元的循环队列中,队满时共有_个元素。9操作系统中先来先服务是_数据结构应用的典型例子。10已知链栈的结点结构包括数据域(data)和指向下一个结点的指针域(next),栈顶指针为top,则实现将指针p所指结点插入栈顶的语句依次为: 1) p-next=top; 2) top=p;三、判断题1线性链表中各个链结点之间的地址不一定要连续。( R )2若频繁地对线性表进行插入和删除操作,该线性表采用顺序存储结构更合适。( W )3若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素的存储地址为144,则第1个数据元素的存储地址是101。4若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素。5在顺序表中取出第 i 个元素所花费的时间与 i 成正比。6若某堆栈的输入序列为1,2,3,4,则4,3,1,2不可能是堆栈的输出序列之一。7删除非空链式存储结构的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:ptop,toplink(p),call RET(p)。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1