![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
数据结构
explorer1212
这个作者很懒,什么都没留下…
展开
-
前向星
int head[maxn]; // 以i为起点的第一条边存储的位置 int head_r[maxn]; struct Edge { Edge() {} Edge(int _to, int _w, int _next) : to(_to), w(_w), next(_next) {} int next; // 与第i条边同起点的下一条边的存储位置 int to; // 边的终点 int w; // 边的权值 }edge[maxn], edge_r[maxn原创 2020-05-28 13:39:11 · 139 阅读 · 0 评论 -
priority_queue优先级
// pq会去找<,如果<返回值是对的,因为pq默认是从大到小排序,就是对的,那么只要把 // 小于号反过来用(让大于返回true,小于返回false),就会从小到大排序了 typedef struct Point{ Point(int _point, int _e) : point(_point), e(_e) {} bool operator < (Point x) const { return this->e > x.e;原创 2020-05-27 23:00:49 · 80 阅读 · 0 评论 -
字符串匹配算法
kmp是啥? 又名模式匹配算法,是用来1、判断A是否是B的子串,2、如果是子串的话,就可以记录A在B中出现的位置; kmp算法分两步; 第一步是对A进行自我匹配,求出一个next数组,next[i]为A中以i结尾的非前缀子串与A的前缀能匹配的最长长度; 第二步是对A和B进行匹配,求出一个f数组,f[i]表示B中以i结尾的非前缀子串长度与A的前缀能匹配的最长长度; 那么怎么求next数组呢? 首先看...原创 2019-03-23 22:49:42 · 246 阅读 · 0 评论 -
链表
链表创建 要有返回值,返回头节点原创 2020-03-27 12:33:28 · 88 阅读 · 0 评论