
算法学习笔记(自用)
栩栩如枫
这个作者很懒,什么都没留下…
展开
-
BFS与SPFA的区别
这是BFS算法模板:queue<int> q;st[1] = true; // 表示1号点已经被遍历过q.push(1);while (q.size()){ int t = q.front(); q.pop(); for (int i = h[t]; i != -1; i = ne[i]) { int j = e[i]; if (!st[j]) { st[j] = true.原创 2022-02-17 23:12:02 · 439 阅读 · 0 评论 -
Bellman_Ford算法---最短路问题
算法模板:例题:AcWing 853有边数限制的最短路:给定一个n个点mm条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible。数据范围1≤n,m≤10^5 1≤n,m≤10^5,图中涉及边长绝对值均不超过1000010000。for (int i = 1; i <= k; i++) { memcpy(ba...原创 2022-02-17 17:42:19 · 763 阅读 · 0 评论 -
数组模拟邻接表--算法学习笔记
单链表的数组表示形式: head[a]:头指针。初始化时指向空结点(值为-1),插入元素后指向头结点后的第一边。 e[idx]:存储idx终点的值。 ne[idx]:当前idx的next指针其返回值是下一个边的序号。 idx:边的序号。 a:节点 若按序插入边(1,4)、(4,3)、(1,2)、(2,4)、(1,3),按照上文所述的图/树的数组模拟实现的邻接表代码,其模拟执行过程如下图所示:举例应用:树的dfs遍历模板int原创 2022-02-14 17:08:13 · 419 阅读 · 0 评论