=================================================
废柴日记:独在异乡为异客,每逢佳节胖三斤.
=================================================
=================================================
日期:2021年9月21日 天气:雨
=================================================
其实,我每天都还好。
各位好久不见啊,博主我又来更新了。
首先,对于废柴日记之迟到的『构造最小生成树算法』我好久没更(好久是指5天)这件事博主在这里给大家道歉。一开始说好的要做一个日更博主,现在可好,托更5天,实属败类。
博主在写完废柴日记4:迟到的『构造最小生成树算法』①之后发现,这种知识讲解类的博客和博主之前所写的题目讲解类博客在本质上存在较大的差异。
- 后者的中心思想没有固定的说法,比较自由,此类博客的关键点是用合适的语言描述你所想的事情即可;
- 而前者则需要你用谨慎的语言去描述一件本以存在的事实,就如同让你去给别人描述『太阳从东边升起』的事实,即使你的语言多么丰富精彩,也不能扭曲这件事的本质。所以这就要求你所描述的事实必须是正确的,这才能够保证整体的正确。
博主在发布废柴日记5:迟到的『构造最小生成树算法』②之后开始放慢了更新的脚步,一边查阅大量的资料与询问大佬,对前两篇的内容进行修改与优化,另一边开始着手写第三篇的初稿。
希望大家谅解,也希望自己可以谅解自己,并且继续加油。
其次祝大家中秋快乐,祝福是我给的,快不快乐是你自己的问题。
博主的中秋节还是比较倒霉的。20号晚上跑步回到宿舍已经22:00了,当时宿舍刚刚断电,博主这边开启电脑的省电模式开始写废柴日记5:迟到的『构造最小生成树算法』②中邻接表的样例解释,结果写文章的网页崩了。
由于这篇博客是已经发布的,如果不再次发布的话你中间做的操作就全部木大,于是博主2小时的努力全部木大。
当时博主哀嚎了一声,准备躺平睡觉,突然想起来比赛总结没写,此时电脑还有25%的电量,我想着应该没问题,5min码了700多字,码上头了属于是。可怜的电脑没撑住,关机了。
那一瞬间,博主心里埋藏了很久的东西全都爆发出来了 。
『悪意(あくい)Èyì』
『恐怖(きょうふ)Kyō fu』
『愤怒(ふんぬ)Fun'nu』
『憎悪(ぞうお)Zō o』
『絶望(ぜつぼう)Zetsu bō』
『闘争(とうそう)Tō sō』
『殺意(さつい)Satsui』
『殲滅(せんめつ)Senmetsu』
『絶滅(ぜつめつ)Ze tsumetsu』
『滅亡(めつぼう)Metsu bō』
咳咳,抱歉,串场了。当时博主埋头哭了1min,哭完睡觉了。
结果早上醒来给电脑充上电,发现我的700字还在,欣喜若狂。
中秋节快乐?那我可太快乐了!
废话说的有点多了,接下来我们进入正题:
那些年里我们分不清楚的近义词们①
Ⅰ.子序列和子串
大家平时在做字符串题目的时候应该经常遇到两个英文单词:sequence(子序列)与substring(子串)。
博主之前发现很多的学弟学妹,甚至还有部分同级人员搞不清楚两者之间的差别。
这就让人十分的生气,博主恨不得当时就直接一个语音打过去然后对ta来一番方言的狂轰乱炸,但是由于一些原因博主只能每次都和蔼可亲地细心地给ta们解释一遍。(并不是因为博主打不过ta们)
我原本想着,再怎么说,这就算是一只鹦鹉,这么多遍下来也应该能够全文背诵了。
并不是这样的。
于是博主扪心自问,再三考虑,决定写成文章。
不会是吧?错了是吧?别找我了,自己看去吧,爷不乐意伺候了。
首先我们来看一下百度百科中对于子序列的描述与对于子串的描述:
- 子序列:一个给定序列的子序列是从给定序列中去除一些元素,而不改变其他元素之间相对位置而得到的。
- 子串:串中任意个连续的字符组成的子序列称为该串的子串。
实际上,子串是子序列中的一个特殊种类,就像是正方形与矩形之间的关系。
举个例子,现有字符串 ABCDEEFG ,我们说 ABCD 和 ABCDEFG 都是原字符串的子序列,但是 ABCD 这个子序列比较特殊,它又是原字符串中连续的一部分,所以我们给它一个新名字:子串。
Ⅱ.头指针与头结点
这其实是学长问我们的一个问题,当时我们正在训练,学长给20级的学弟学妹们讲数据结构,大家都知道在数据结构中穿插着两种存储结构:顺序存储结构与链式存储结构。
博主这种学渣对于前者掌握的程度还能说的过去,但是链表一直都是博主的心头病,所以博主在学习链式存储结构的时候是比较吃力的。
说到链式存储结构就肯定要提及到链表的插入方式——头插法与尾插法。
只要一提到这个,就必定会引出一个概念:头结点。写到这里,博主身上的鸡皮疙瘩已经起来了。
于是学长就问了一个问题:
头指针与头结点是什么?是同一样东西吗?
为了防止以后再翻车,博主在这里就一次性解释清楚,以后忘记了还能回来看一看。
老规矩,先看百度百科中对于头结点的定义与对于头指针的定义:
总结说一下:
- 指针就是地址的意思,那么头指针就是指单链表的第一个地址,大多数情况都会存在的。
-
头结点是可有可无的,我们通常把它放在第一个结点的前面,也就是头指针的前面。
头结点主要用来存储一些信息使得某些链表操作的时间复杂度减少。(比如存储链表长度,这样的话获取一个单链表的长度的时间复杂度就从O(n)降低到了O(1))
简单一句话:
头结点就像是你的帽子,可以戴但是没必要;头指针就像是你的头,必须要有的。(也可以没有,看个人需求😀)
但是这里还是要提一个特例:循环链表就没有头指针(战神刑天既视感)。
今天的知识分享先到这里,以后的每个节日都会有节日特辑的。每次的内容大概率就是这种小知识的分享。
再有15min中秋节就过去了,但是我们也会在15min之后迎来崭新的自己。
每天睁开眼睛,又是崭新的一天。
不能只有节日里才会快乐,每一天都要快乐。