- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好?
答:① 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一) ;要求内存中可用 存储单元的地址必须是连续的。
优点:存储密度大(=1),存储空间利用率高。缺点:插入或删除元素时不方便。
②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,
另一部分存放表示结点间关系的指针
优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小( 1),存储空间利用率低。
顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。
若线性表的长度变化不大,且其主要操作是查找,则采用顺序表;
若线性表的长度变化较大,且其主要操作是插入、删除操作,则采用链表。
作为线性表的两种基本的存储结构;顺序表和譏表。它们在存储和操作上备有优銚点?列表比较如下;
链表
优点
!■.方法简单,各种高级龜中都
2.不用籾不结点闾的邊辑关系 而増加额外的存储开销,存储密度 大;3.具有捜兀素序号逋机谊间 的特点,査找速度快.
K插入、刪除时,貝 要拔到对应前驱结点, 修改指针耳呵,无需移 动元盍;
2.采用动蛊存储分 配,不会造成内存浪费 和溢出.
1.插入删徐按柞时,噩夔移动元 素,平均移动大约表中一半的元 臺,对元1S较多的N那缺救率低? 2米用静态空间■分配,需裳预先 分si足够大的存储空ra,会造成内 存的浪聲和隘出.
1、在肓些语酉中,不 支持指针,不容易实 现;
厶需要用颤外空闾存 储线准表的关系,存储 空度小3、不能随机访 间,查找时要就头指针 开始遍历*
顺序表与链表的比较
基于空间的比较
存储分配的方式
顺序表的存储空间是静态分配的链表的存储空间是动态分配的
存储密度=结点数据本身所占的存储量/结点结构所占的存储总量 顺序表的存储密度 =1
链表的存储密度 1
基于时间的比较
存取方式
顺序表可以随机存取,也可以顺序存取
链表是顺序存取的
插入/删除时移动元素个数
顺序表平均需要移动近一半元素 链表不需要移动元素,只需要修改指针
顺序表和链表的比较
顺序表和链表各有短长。在实际应用中究竟选用哪一种存储结构呢?这要根据具体问 题的要求和性质来决定。通常有以下几方面的考虑 :
链表基I分I静态分配。程序执行之前必须明确 于 空 间 考 虑
链表
基I分I静态分配。程序执行之前必须明确 于 空 间 考 虑
规定存储规模。若线性表长度 n变
化较大,则存储规模难于预先确定 估计过大将造成空间浪费,估计太
I小又将使空间溢出机会增多。
动态分配只要内存空间尚有空闲, 就不会产生溢出。因此,当线性表 的长度变化较大,难以估计其存储 规模时,以采用动态链表作为存储
I结构为好。
I
I
I
I
存丨为1。当线性表的长度变化不大,
储I易于事先确定其大小时,为了节约 密I存储空间,宜采用顺序表作为存储 度I结构。
基I存于I取
基
I存
于
I取
时
I 方
间
I法
考
虑
1—
随机存取结构,对表中任一结点都
顺序存取结构,链表中的结点,需
可在O (1 )时间内直接取得
线性表的操作主要是进行查找,很 少做插入和删除操作时,采用顺序 I表做存储结构为宜。
I从头指针起顺着链扫描才能取得。
插丨在顺序表中进行插入和删除,平均 入丨要移动表中近一半的结点,尤其是 删丨当每个结点的信息量较大时,移动
I I除丨结点的时间开销就相当可观。I
I I除丨结点的时间开销就相当可观。
I I操I
尾两端,则I
I I作I
用链表做存储结构。若表的插入和 I
I删除主要发生在表的首
米用尾指针表示的单循
环链表为宜I
为什么在单循环链表中设置尾指针比设置头指针更好 ?
答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和 终端结点都很方便,设一带头结点的单循环链表,其尾指针为 rear,则开始结点和终端结点
的位置分别是rear-〉next-〉next和rear,查找时间都是0(1)。若用头指针来表示该链表,则 查找终端结点的时间为 0( n)。
在链表中设置头结点有什么好处?
头结点即在链表的首元结点之前附设的一个结点, 该结点的数据域可以为空, 也可存放表长
度等附加信息,其作用是为了对链表进行操作时, 可以对空表、非空表的情况以及对首元结
点进行统一处理,编程更方便。
您可能关注的文档
- 正余弦定理的综合应用.docx
- 正、反比例的综合练习设计及教学反思.docx
- 正交试验的方差分析实例1.docx
- 正常人体结构课程标准.docx
- 正式员工入职合同范本.docx
- 正式租赁合同.docx
- 正弦定理及其应用.docx
- 正弦定理的几种证明方法.docx
- 正念训练在大学生心理健康教育课程中的运用.docx
- 正弦交流电路习题解答.docx
- ABB REX640 保护和控制继电器 适用于高级发电和配电应用的一体化保护装置 数据表(中文).pdf
- honeywell霍尼韦尔SmartLine® 电子远传变送器产品文档.pdf
- Fujifilm 富士胶片 ApeosWare Management Suite 2 GM1216C2-6 说明书.pdf
- Panasonic松下HBC软件YA-2KPMV1F01说明书用户手册.pdf
- Colorlight卡莱特AI智能媒体中心AX6K 产品规格书 V1.0说明书用户手册.pdf
- ABB Prerequisite SOP for ServiceNow Discovery BAU 操作说明(英语).pdf
- YJ扬杰SiC MOSFET模块 MC14HFZ12C1N规格说明书.pdf
- YJ扬杰IGBT模块 MG40P12E2A规格说明书.pdf
- YJ扬杰IGBT单管 DGB20N65CTL1K规格说明书.pdf
- ApeosWare 管理套件 系统要求 Management Suite 2 入门指南.pdf
最近下载
- 软件质量保障体系构建.docx
- [八部经典中医学著作].06金匮要略.doc VIP
- 实践总结:东芝电梯CV180、190、330故障代码.doc VIP
- 第五单元第11课《刀言纸语》教学课件-2025-2026学年苏少版(2024)初中美术八年级上册.pptx VIP
- 2024-2025学年北京东城区八年级初二(上)期末物理试卷(含答案).pdf
- 八(上)古诗文赏析(含答案).doc VIP
- 中华人民共和国仲裁法(2025修订版)测试题及答案.docx VIP
- 高速公路桥梁T梁预制架设施工方案.doc VIP
- 济南酒店复盘总结2012.3.15.ppt VIP
- 第十五课《锦上添花》课件-+2025-2026学年赣美版(2024)初中美术七年级上册.pptx VIP
原创力文档


文档评论(0)