![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
包含数据结构的相关算法、
小王的算法之路
这个作者很懒,什么都没留下…
展开
-
数据结构-树状数组
模板 int lowbit(int x) { return x & -x; } //修改数据 int add(int x, int c) { for (int i = x; i <= n; i += lowbit(i)) tr[i] += c; } //求和 int sum(int x) { int res = 0; for (int i = x; i; i -= lowbit(i)) res += tr[i]; return res; } //初始化 for (int i = 1;原创 2022-05-04 20:53:46 · 43 阅读 · 0 评论 -
数据结构-并查集
模板 //查询祖宗节点 int find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x]; } //合并两个集合 p[find(a)] = find(b); //初始化 for (int i = 1; i <= n; i ++ ) p[i] = i;原创 2022-05-04 20:41:19 · 310 阅读 · 0 评论 -
数据结构-链表
模板 const int N = 100, M = 100; int h[N], e[M], ne[M], idx; //加点 void add(int a, int c) { e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ; } //遍历 for (int i = h[a]; ~i; i = ne[i]) { } int main() { memset(h, -1, sizeof h); //表头要初始化为-1 return 0; } ...原创 2022-05-04 19:47:37 · 157 阅读 · 0 评论 -
数据结构-栈
模板 int stack[N]; int tt = 0; //入栈 stack[ ++ tt] = x; //取栈顶 int x = stack[tt]; //出栈 tt -- ;原创 2022-05-04 19:59:53 · 162 阅读 · 0 评论 -
数据结构-队列
模板 int q[N]; int hh = 0; tt = -1; //入队 q[ ++ tt] = x; //出队 hh ++ ; //取队头 int x = q[hh]; while (hh <= tt) //队列不空 { }原创 2022-05-04 20:04:58 · 163 阅读 · 0 评论