算法
文章平均质量分 89
->yjy
所有的惊艳都历经平庸
展开
-
关键路径--AOE-网(Activity On Edge Netword)
AOE(Activity on Edge)关键路径是指在项目网络图中所代表的一系列活动的路径,其总时长决定了整个项目的最短完成时间。工程进度控制的关键在于抓住关键活动.在一定范围内,非关键活动的提前完成对于整个工程的进度没有直接的好处,它的稍许拖延也不会影响整个工程的进度.工程的指挥者可以把非关键活动的人力和物力暂时调给关键活动,加快其进展速度,以使整个工程提前完工.关键路径是指整个项目中持续时间最长的路径,任何延迟在关键路径上的活动都将导致项目总体延迟。知道关键路径上的活动可以帮助项目团队优化资源分配。原创 2024-05-10 13:22:46 · 859 阅读 · 0 评论 -
贪心算法 Greedy Algorithm
一般来说,对于规模较小的问题,贪心算法的时间复杂度可以达到O(nlogn)或O(n^2);答:一个问题如果可以用递归的方式分解成若干个子问题,且每个子问题都有明确的最优解(即局部最优),那么这个问题就可以用贪心算法解决。贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。背包问题:给定一组物品和一个背包,每个物品有一定的重量和价值,要求在不超过背包容量的情况下,尽可能多地装入物品。找零问题:给定一定数量的硬币和需要找零的金额,求使用最少的硬币数。原创 2024-05-01 09:34:30 · 1174 阅读 · 0 评论 -
Dynamic-Programming
Those“那些忘记历史的人注定重蹈覆辙”这句话出自美国哲学家乔治·桑塔亚那之手,准确地说,这句话可以被引用为他在《理性的生活:常识中的理性》一书中所说的“那些不记得过去的人注定重蹈覆辙“Those who cannot remember the past are condemned to repeat it” 这句话忘记是在哪里看到的了,但是我觉得用在动态规划这个章节,真的很合适!原创 2024-05-01 09:31:18 · 1489 阅读 · 0 评论 -
回溯Backtracking Algorithm
因为它只考虑了 start 一种情况,而实际在循环内要处理的是 start,start+1 ... n 这多种情况。n - i +1 还剩下几个备用数字 if(k-stack.length >n-i+1) continue;(即 1 和 1‘ 这种情况),进一步检查 i-1 位置的数字有没有 visited,没有,则不处理(剪枝)定好规则:必须 1 固定之后才能固定 1',即 1 的 visited = true 才能继续处理 1'如果用的是可变的集合或者数组必须手动的恢复集合状态。原创 2024-04-30 21:26:47 · 877 阅读 · 1 评论 -
Huffman编码
java原创 2024-04-28 15:40:34 · 842 阅读 · 0 评论 -
贪心算法-活动选择问题&背包问题
11 |-------) 3 选中。1 |-------) 3 选中。6 |-------) 2 选中。编号 0 1 2 3 4 5 6 7 8 9。在此基础上,活动总数 - count,就是题目要的排除数量。3. 每次可以不拿,全拿,或拿一部分,问最高价值是多少。原创 2024-04-28 15:22:30 · 1513 阅读 · 0 评论 -
图--并查集
并查集是一种数据结构并查集这三个字,一个字代表一个意思。并(Union),代表合并查(Find),代表查找集(Set),代表这是一个以字典为基础的数据结构,它的基本功能是合并集合中的元素,查找集合中的元素并查集的典型应用是有关连通分量的问题并查集解决单个问题(添加,合并,查找)的时间复杂度都是O(1)O(1)O(1)因此,并查集可以应用到在线算法中。原创 2024-04-27 11:17:43 · 1240 阅读 · 0 评论 -
最小生成树
我们来参考一张图我现在的需求不是要所有的边,我想在这些边里面找六条边,因为七个顶点,六条边就够了我要找的这六条边需要是总成本最小的,也就是权重和最小的.这个需求在现实生活中也是有意义的,假设这是你家的七个开关,我现在要铺设电线,把这七个开关连通,铺设方式很多种,但是我要找一个成本最低的.这便是最小生成树问题!原创 2024-04-27 11:17:10 · 346 阅读 · 0 评论 -
二分查找算法
二分查找算法也称折半查找,是一种非常高效的工作于有序数组的查找算法。原创 2024-04-24 20:52:56 · 592 阅读 · 0 评论