![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
王文波~
清。。
展开
-
搜索补充
Kruskal算法 int n, m; // n是点数,m是边数 int p[N]; // 并查集的父节点数组 struct Edge // 存储边 { int a, b, w; bool operator< (const Edge &W)const { return w < W.w; } }ed...转载 2020-02-08 23:15:39 · 275 阅读 · 0 评论 -
搜索与图论
树是一种特殊的图,与图的存储方式相同。 对于无向图中的边ab,存储两条有向边a->b, b->a。 因此我们可以只考虑有向图的存储。 邻接矩阵:g[a][b] 存储边a->b (2) 邻接表: // 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点 int h[N], e[N], ne[N], idx; // 添加一条边a->b vo...转载 2020-02-08 23:08:06 · 175 阅读 · 0 评论 -
数据结构
单链表 // head存储链表头,e[]存储节点的值,ne[]存储节点的next指针,idx表示当前用到了哪个节点 int head, e[N], ne[N], idx; // 初始化 void init() { head = -1; idx = 0; } // 在链表头插入一个数a void insert(int a) { e[idx] = a, ne[idx] = ...转载 2020-01-16 22:31:30 · 256 阅读 · 0 评论 -
算法基础相关代码模板
快速排序算法模板 —— 模板题 void quick_sort(int q[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); ...转载 2020-01-16 22:10:17 · 232 阅读 · 0 评论