算法
文章平均质量分 94
大白羊_Aries
这个作者很懒,什么都没留下…
展开
-
算法模板——常用方法(未完待更)
常用方法1. 双指针1.1 快慢指针1.1.1 有环链表的问题1.1.2 无环线性表1.1.3 Reference1. 双指针1.1 快慢指针快慢指针的核心思想就是:慢指针每次移动一格,快指针每次移动两格1.1.1 有环链表的问题最典型的就是弗洛伊德的龟和兔子bool hasCycle(ListNode *head) { ListNode *tortoise = head; ...原创 2020-05-04 14:27:42 · 1497 阅读 · 0 评论 -
算法模板——高级算法(未完待更)
高级算法1. 求强力连通分量——Tarjan算法1. 求强力连通分量——Tarjan算法Tarjan算法时用来求强连通分量的,它基于一种DFS的算法,每个强连通分量为搜索树的一颗子树void tarjan(int k){ low[k] = dfn[k] = ++t; f[k] = true; // f[]代表该结点已经入栈 s.push(k); for(int...原创 2020-04-30 19:49:43 · 198 阅读 · 0 评论 -
算法模板——高级数据结构(未完待更)
高级数据结构1. 树状数组1.1 PUIQ模型1.2 降维1.1 Reference1. 树状数组名曰树状数组,那么究竟它是树还是数组呢?数组在物理空间上是连续的,而树是通过父子关系关联起来的,而树状数组正是这两种关系的结合,首先在存储空间上它是以数组的形式存储的,即下标连续;其次,对于两个数组下标 x,y(x<y)x,y(x < y)x,y(x<y),如果x+2k=yx +...原创 2020-04-08 18:16:54 · 711 阅读 · 1 评论 -
算法模板——动态规划(未完待更)
动态规划1 背包问题九讲1.1 0-1背包、满包1.2 完全背包1.3 多重背包1.4 混合背包1.5 二维费用背包3.6 分组背包1.6 有依赖的背包问题1.7 泛化物品1.8 背包问题问法的变化1.9 Reference1 背包问题九讲1.1 0-1背包、满包有N件物品和一个容量为V 的背包。放入第i件物品耗费的空间是Ci,得到的价值是Wi。求解将哪些物品装入背包可使价值总和最大。...原创 2020-04-08 15:09:54 · 577 阅读 · 0 评论 -
算法模板——基础
文章目录1. 图结构1. 图结构Pythonfrom collections import defaultdictclass Graph(): def __init__(self, v): self.graph = defaultdict(list) self.v = v def addedge(self, u, v):...原创 2020-03-15 17:54:13 · 651 阅读 · 0 评论 -
算法札记 - 有向图找环(Python)
1. 着色法from collections import defaultdictclass Graph: def __init__(self, v): self.v = v self.cyc = [] self.graph = defaultdict(list) def addedge(self, u, v)...原创 2020-03-12 17:21:54 · 2927 阅读 · 0 评论 -
算法札记
总结——01背包问题 (动态规划算法)判断一个数是不是2的幂次方(位运算)二分图(最小顶点覆盖 最大匹配 最大独立集 )二分图大合集——二分图最大匹配(最小覆盖数),完美匹配以及最优匹配(带权最大匹配)【转载】二分图的最大匹配、完美匹配和匈牙利算法华为OJ1964-求解立方根(牛顿迭代法)python(四) 求两数的GCD(最大公约数)...原创 2020-03-10 15:58:26 · 137 阅读 · 0 评论 -
算法札记 - 带负权边的最短路径 - Bellman-Ford算法
referencehttps://www.jianshu.com/p/b876fe9b2338https://blog.csdn.net/Day_and_Night_2017/article/details/96317791https://blog.csdn.net/yuewenyao/article/details/81026278https://blog.csdn.net/wtyvh...原创 2020-04-21 16:25:15 · 1327 阅读 · 0 评论