- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 chapter 2 LinkList1链表
5)删除不带头结点单链表第一个数据元素结点 a0 a1 an-1 ∧ … head 6)删除不带头结点单链表其他数据元素结点 p ai-1 a0 ai an-1 ∧ … head … ai+1 结论: (1)带头结点单链表无论在第一个数据元素结点前插入,还是在其他结点前插入,操作方法一样;而不带头结点单链表在第一个数据元素结点前插入,和在其他结点前插入,操作方法不一样 (2)删除操作和插入操作类似 (3)设计带头结点单链表的算法时,头指针参数可设计成输入型参数;设计不带头结点单链表的算法时,头指针参数必须设计成输出型参数 (4)因此,带头结点单链表的算法设计简单 ◆ 2.3.4单链表应用举例 例2-3(P35) 文件 LinList.h (P29-34) 文件 LinListExample.c(P35) 作业3 算法设计题: 1、补充实现单链表的基本操作 1、IsEmpty()函数实现判断单链表是否为空表。 2、InsertFront()函数实现在单链表首元结点前插入一新结点x。 3、InsertEnd()函数实现在单链表的表尾插入一个新结点x。 4、Find()函数实现在单链表中寻找值为x的元素。 5、FindPrevious()函数实现在单链表中寻找值为x的前一个元素。 2、实现带尾指针和表长信息的单链表数据结构 1、InsertEnd( )函数实现在单链表的表尾插入新结点,但它的运行时间代价为O(n),因为要从头指针开始遍历整个链表找到尾结点。要求你修改单链表数据结构(包括类型定义和相关函数),使InsertEnd()函数的时间复杂度为O(1)。 2、ListLength()函数实现求单链表的表长,但它的运行时间代价为O(n),因为要从头指针开始遍历整个链表以统计表长。要求修改单链表数据结构(包括类型定义和相关的函数),使ListLength()函数的时间复杂度为O(1)。 作业3(续) 3、p46,2-24 题目“有序顺序表”改为“有序单链表” 作业3(续) * 数据元素组成: I. 数据域data:即数据元素本身的信息。 2.指针域link:指向其直接后继的存储位置。 We can store a list of ints as an array, but there are disadvantages to this representation. First, arrays have a fixed length that can’t be changed. If we want to add items to a list, but the array is full, we have to allocate a whole new array, and move all the ints from the old array to the new one. Second, if we want to insert an item at the beginning or middle of an array, we have to slide a lot of items over one place to make room. This takes time proportional to the length of the array. * 结点:链表中一个数据元素所占的存储结构称为结点。链表中为每个数据元素分配一个结点,每个结点占用的空间是连续的,结点与结点之间可以不连续。一个链表中每个结点结构均由相同的两部分组成。 头指针:标明链表的首地址(第一个结点的首地址)。整个链表由头指针唯一确定。链表中的任意结点都可从头指针开始遍历得到。 * 引入“头结点”:方便操作。数据域存放链表的长度信息,指针域指向第一个元素结点 注意:链表中元素下标从1开始 * 引入“头结点”:方便操作。数据域存放链表的长度信息,指针域指向第一个元素结点 注意:链表中元素下标从1开始 * 先介绍23页的取元素操作(简单),再介绍插入、删除操作(其实包含取元素操作) 从头指针开始(顺藤摸瓜),不能随机存取 注意:I的合法范围i=0、i=size-1 思考:单链表的求表长操作实现 int length(SLNode *h) //初始化单链表{SLNode *p;? ?int len; ?? p=head-next;? len=1;?? /*从第一个结点开始查找*/???? ?? while (p!=NULL) ????? { p=p-next;?? ???? len++;? }SLNodeLLhead return len;? } * 书中算法有错误! 函数返回
您可能关注的文档
- 数字电路实验多路彩灯.doc
- 数字电子技术一实验指导书13142.doc
- 数字视频信息的加工教学设计.doc
- 数字图像处理分析IPA5.ppt
- 数字通信原理1绪论.ppt
- 数字图像处理实验指导书v306.doc
- 数学与应用数学专业毕业论文丁黎明.doc
- 数学一年级上下教学设计.doc
- 数字高程模型第三讲DEM数据获取方法.ppt
- 数字电路实验42012.ppt
- 综合技能谈话integrated skills.pptx
- 半导体专有信息徽标商标国赛英文13 sim.pdf
- 建议阅读指导性水平dralr 2y at homeg在家遥远.pdf
- unit 1 can you play the guitar选拔卷-单元测试学七级英语下册尖子生人教版.pdf
- 移动游戏单机版接入参考手册支付模块.pdf
- 文案innodb体系结构les9.pptx
- unit 2 what time do you go to school section b 1e课件学人教版七级英语下册.pptx
- 客户服务操作内容创建团队诺基亚仅用于培训目6290RM.pdf
- 文本内容案例rexroth汇rd11263.pdf
- lnk 2c检查每报告期17 dec数据2c daily report on C.pdf
最近下载
- 《开国大典》ppt课件.pptx VIP
- Unit 4 Stage and screen 课件(共30张ppt) 外研版(2019)高中英语必修第二册.pptx VIP
- 2025年青岛职业技术学院单招职业适应性测试题库及答案一套.docx VIP
- 2024年《知识产权法》形考任务1答案.pdf VIP
- 高一数学备课组长工作总结.pptx VIP
- Moldflow模流分析入门与实战 课件 1.5 创建浇注系统.pptx
- BEVERLY 比佛利 QZBW20S-16净水机 说明书.pdf
- 困难退役军人帮扶计划书.pptx VIP
- 【优质课】《马克思主义的诞生与传播》说课课件.pptx VIP
- 畜产品质量安全知识课件.pptx
文档评论(0)