![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习数据结构
2301_77316194
这个作者很懒,什么都没留下…
展开
-
字符串的匹配 BF算法 KMP算法
当j=4时候 j其实就走了三步(j的数量少,便于记录走了多少步 这时候j虽然为4但是仅仅走了三步) 所以说i要回到原来的那个数字后一位 就是。如果不同就再往回到4 看16 和4的值是不是相同 直到找到相同的 如果到了j=0则就是前面没有前缀后缀相同的 也满足条件了 也进行赋值了。【最浅显易懂的 KMP 算法讲解-哔哩哔哩】 https://b23.tv/G6EapaA。BF算法每一次匹配不上 i 就会返回原来的下一位,j 回到第一位。比如这个例子如果16号的值和8号的值相同那么就是4。原创 2023-10-22 18:39:54 · 46 阅读 · 1 评论 -
(数据结构与算法)递归函数、顺序表和链表 9/13
的存储区(这里的连续用指针来实现) 2.一个整型的变量来标记我们数组的长度大小 3.也是一个整型的变量来标记我们存储了几个数据。顺序表因为是连续的所以在插入或者删除的操作过程中需要对后面的元素进行存储空间的移动。3.假设我们的递归函数是正确的,来设计本层的设计 即写出fn的关系式。1.给递归函数一个明确的语义信息 即fn具体代表了什么。2.设计边界条件 就是n==1时候 f(n)=?1.这里的f(n)代表了能吃n天的桃子数量。顺序表的结构操作:插入or 删除。顺序表的结构定义:1.一段。原创 2023-09-15 15:29:39 · 113 阅读 · 0 评论 -
(数据结构) 链表 9/15
链表的结构定义:链表是由若干哥节点穿起来的,是逻辑上串联到一起的,每个节点处存储两部分信息,(第一部分是我们的数据信息,第二部分是我们称作。)插入的时候注意内存泄漏的问题,就是先指向谁,可能会丢失下一节点的地址。双向链表 就是在他的结构定义里面由两个指针,一个向前另外一个向后。删除操作:很简单只需要让head指向第三个节点即可。head节点指向最后一个节点。用来找到下一个链表节点)。插入:(都是用指针来操作的。利用虚拟节点来进行操作。以上是无头链表的思想。原创 2023-09-16 12:12:03 · 36 阅读 · 1 评论 -
(数据结构与算法)时间复杂度和空间复杂度 9/18
为了评判一个算法的好坏 因为在不同机器在不同的语言 在不同的编译器下等等等各种因素影响,我们不便进行评判,因此引出时间复杂度和空间复杂度。O(n)大O表示法:因为计算机的运算量很大所以。用以下的表来判断最高阶数学函数表示口诀:常对幂指数阶如果是嵌套循环呢?把内层和外层乘起来n^2只关心最内层与n的关系练习循环里面不是加而是✖️假设循环了x次2^x=n空间复杂度原地工作--算法所需的内存不变。原创 2023-09-18 16:33:28 · 38 阅读 · 0 评论 -
(数据结构)单链表的几种算法
【代码】(数据结构)单链表的几种算法。原创 2023-10-11 15:23:21 · 139 阅读 · 0 评论 -
顺序队列 23.10_15
因为顺序表示时候所开辟的空间是一个固定的大小区域,当出现了右边这种情况时候 我们引出了循环顺序队列来充分利用空间。则出现了另一个问题:队满和队空的标志都是front=rear。用求余的方法很巧妙的就实现了循环。用空一个的方法来 解决。原创 2023-10-15 17:18:03 · 33 阅读 · 0 评论