- 博客(6)
- 收藏
- 关注
原创 数据结构之链表
链表是一种物理上非连续,数据元素逻辑顺序通过链表中的指针链接的,是一种线性存储结构。链表中的单位称为节点,每个节点由两个部分组成:数据域和指针域1.数据域用于存储当前节点的数据元素2.指针域用于存储下一节点地址一般而言链表都有一个头节点head链表的节点可以用结构体实现,也可以单独用数组实现。
2025-11-09 21:05:33
717
原创 字符串匹配之kmp
k = -1满足if条件于是两个指针向前走一位 随后记录next[1] = 0接下来不满足if条件,于是k回溯到next[0] = -1的位置就这样一直走最后获得next数组。
2025-11-08 12:48:33
389
原创 前缀和与差分
即 b[n] = a[n] - a[n-1] 这样一来就让b成为了原数组,a变成了b的前n项和感觉有点像高中时学的an=Sn-Sn-1其实就是通过改变原数组b,即b[l] +=c, b[r+1] -=1,这样就能实现原理是啥呢?我们有数列pn,它的前n项和为Sn下面展示代码如何实现:(参考acwing的差分题)int main()int n,m;i <= n;i++)//构建差分数组while(m--)b[l] += c;i <= n;
2025-11-06 13:32:00
583
原创 二分算法与例题
int x;cin >> x;return l;这时候肯定有彦祖要问为什么后面那个mid的运算要+1,是这样的:一种很巧合的情形,当l = r-1的时候,l = mid,更新以后是(mid,r)和原来一样,这样会导致死循环。至于两者有何不同下标0123456a[]1245579假如我们要找第一个>4的数,显然下标0~2是不符合要求的,所以要从右往左找,用第一个模板。第二个模板也同理。
2025-11-05 22:48:08
1446
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅