- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
链表实验报告总结 链表的理论基础 在这篇文章 关于链表,你该了解这些!中,介绍了如下几点: 链表的种类主要为:单链表,双链表,循环链表 链表的存储方式:链表的节点在内存中是分散存储的,通过指针连在一起。 链表是如何进行增删改查的。 数组和链表在不同场景下的性能分析。 「可以说把链表基础的知识都概括了,但又不像教科书那样的繁琐」。 链表经典题目 虚拟头结点 在 链表:听说用虚拟头节点会方便很多?中,我们讲解了链表操作中一个非常重要的技巧:虚拟头节点。 链表的一大问题就是操作当前节点必须要找前一个节点才能操作。这就造成了,头结点的尴尬,因为头结点没有前一个节点了。 「每次对应头结点的情况都要单独处理,所以使用虚拟头结点的技巧,就可以解决这个问题」。 在 链表:听说用虚拟头节点会方便很多?中,我给出了用虚拟头结点和没用虚拟头结点的代码,大家对比一下就会发现,使用虚拟头结点的好处。 链表的基本操作 在 链表:一道题目考察了常见的五个操作!中,我们通设计链表把链表常见的五个操作练习了一遍。 这是练习链表基础操作的非常好的一道题目,考察了: 获取链表第index个节点的数值 在链表的最前面插入一个节点 在链表的最后面插入一个节点 在链表第index个节点前面插入一个节点 删除链表的第index个节点的数值 「可以说把这道题目做了,链表基本操作就OK了,再也不用担心链表增删改查整不明白了」。 这里我依然使用了虚拟头结点的技巧,大家复习的时候,可以去看一下代码。 反转链表 在 链表:听说过两天反转链表又写不出来了?中,讲解了如何反转链表。 因为反转链表的代码相对简单,有的同学可能直接背下来了,但一写还是容易出问题。 反转链表是面试中高频题目,很考察面试者对链表操作的熟练程度。 我在 文章中,给出了两种反转的方式,迭代法和递归法。 建议大家先学透迭代法,然后再看递归法,因为递归法比较绕,如果迭代还写不明白,递归基本也写不明白了。 「可以先通过迭代法,彻底弄清楚链表反转的过程!」 环形链表 在 链表:环找到了,那入口呢?中,讲解了在链表如何找环,以及如何找环的入口位置。 这道题目可以说是链表的比较难的题目了。 很多同学关注的问题是:为什么一定会相遇,快指针就不能跳过慢指针么? 可以确定如下两点: fast指针一定先进入环中,如果fast 指针和slow指针相遇的话,一定是在环中相遇,这是毋庸置疑的。 fast和slow都进入环里之后,fast相对于slow来说,fast是一个节点一个节点的靠近slow的,「注意是相对运动,所以fast一定可以和slow重合」。 如果fast是一次走三个节点,那么可能会跳过slow,因为相对于slow来说,fast是两个节点移动的。 确定有否有环比较容易,但是找到环的入口就不太容易了,需要点数学推理。 我在 链表:环找到了,那入口呢?中给出了详细的推理,兼顾易懂和简洁了。 这是一位录友在评论区有一个疑问。我感觉这个问题很不错,但评论区根本说不清楚,趁着总结篇,补充一下这个证明。 在推理过程中,「为什么第一次在环中相遇,slow的 步数 是 x+y 而不是 x + 若干环的长度 + y 呢?」 了解这个问题一定要先把文章 链表:环找到了,那入口呢?看了,即文章中如下的地方: 首先slow进环的时候,fast一定是先进环来了。 如果slow进环入口,fast也在环入口,那么把这个环展开成直线,就是如下图的样子: 可以看出如果slow 和 fast同时在环入口开始走,一定会在环入口3相遇,slow走了一圈,fast走了两圈。 重点来了,slow进环的时候,fast一定是在环的任意一个位置,如图: 那么fast指针走到环入口3的时候,已经走了k + n 个节点,slow相应的应该走了(k + n) / 2 个节点。 因为k是小于n的(图中可以看出),所以(k + n) / 2 一定小于n。 「也就是说slow一定没有走到环入口3,而fast已经到环入口3了」。 这说明什么呢? 「在slow开始走的那一环已经和fast相遇了」。 那有同学又说了,为什么fast不能跳过去呢?在刚刚已经说过一次了,「fast相对于slow是一次移动一个节点,所以不可能跳过去」。 好了,这次把为什么第一次在环中相遇,slow的 步数 是 x+y 而不是 x + 若干环的长度 + y ,用数学推理了一下,算是对 链表:环找到了,那入口呢?的补充。 这次可以说把环形链表这道题目的各个细节,完完整整的证明了一遍,说这是全网最详细讲解不为过吧,哈哈。 总结 考察链表的操作其实就是考察指针的操作,是面试中的常见类型。 链表篇中开头介绍 链表理论知识,然后分别通过经典题目介绍了如下知识点: 虚拟头结点的技巧 链表的增删改查
您可能关注的文档
最近下载
计算机三级持证人
从事多年企业管理、在团队建设、员工培训、营销提升、组织架构有多自己的经验,希望在这个平台分享及帮助更多的公司或企业!
有哪些信誉好的足球投注网站
文档评论(0)