数据结构
__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 · 465 阅读 · 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 · 317 阅读 · 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 · 463 阅读 · 0 评论 -
【C/C++单向链表实现及操作,链表的增删改查】
前前后后学链表快三次了,比较难理解。分享一下我自己的链表构建和操作。约定:头节点为第0个节点,也就是头指针,没有数据域写的只能说是比较详细吧,理解指针后和结构体后链表就很好理解了链表其实是一种数据结构,通俗来讲就是如何存储数据。链表由节点构成,每个节点都是一个结构体。每个节点中存储数据和指针,指针指向下一个节点(结构体),所以说节点中的指针是结构体指针链表节点在内存种的存储是不连续的删除节点,添加节点对应这个图想象怎么操作#include <stdio..原创 2021-12-12 20:49:55 · 721 阅读 · 0 评论