![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
__JAN__
I love coding
展开
-
Rabin-Karp算法(哈希映射字符串匹配)
倒也不难,看一下源码就懂了,核心是把每一个字符串映射一个哈希值,通过哈希值就可以进行O(1)时间复杂度的每一次匹配 不同字符串哈希值可能相同,所以取模一个数,正常取值一般比较大 #include <bits/stdc++.h> using namespace std; int main() { const int q=114514;//手动狗头 // a~z ASCII int ans = 0; int t = 0, h = 0; string原创 2022-01-10 00:00:26 · 472 阅读 · 0 评论 -
图论:邻接表
#include <bits/stdc++.h> using namespace std; //邻接表的存储 int head[10],ver[10],edge[10],net[10]; void add(int x,int y,int z){ static int tot=0; tot++; ver[tot]=y; edge[tot]=z; net[tot]=head[x]; head[x]=tot; } int main() { m.原创 2022-01-03 13:30:37 · 325 阅读 · 0 评论 -
滑动窗口代码
#include<bits/stdc++.h> using namespace std; int h,t=-1; int num[1000010]; int main() { int q[100]; int n,k; cin>>n>>k; for(int i=0;i<n;i++) cin>>num[i]; for(int i=0;i<n;i++) { if(h<=t&.原创 2021-12-29 14:08:36 · 474 阅读 · 0 评论 -
【C/C++单向链表实现及操作,链表的增删改查】
前前后后学链表快三次了,比较难理解。 分享一下我自己的链表构建和操作。 约定:头节点为第0个节点,也就是头指针,没有数据域 写的只能说是比较详细吧,理解指针后和结构体后链表就很好理解了 链表其实是一种数据结构,通俗来讲就是如何存储数据。 链表由节点构成,每个节点都是一个结构体。 每个节点中存储数据和指针,指针指向下一个节点(结构体),所以说节点中的指针是结构体指针 链表节点在内存种的存储是不连续的 删除节点,添加节点对应这个图想象怎么操作 #include <stdio..原创 2021-12-12 20:49:55 · 735 阅读 · 0 评论