
算法
文章平均质量分 84
->yjy
所有的惊艳都历经平庸
展开
-
链表OJ
表的结点为 A 表中值小于零的结点,而 C 表的结点为 A 表中值大于零的结点(链表 A 中的元素为非零整数,要求 B、 C 表利用 A 表的结点)。开始,依次取其每个结点 p,判断结点 p 的值是否小于 0,利用前插法,将小于 0 的结点插入B 表 , 大于等于 0 的结点插入 C 表。La 和 Lb 均为到达表尾结点时,如果 La 表中的元素小于 Lb 表中的元素, pre 置为 La 表的工。求两个集合 A 和 B 的差集是指在 A 中删除 A 和 B 中共有的元素,即删除链表中的相应结。原创 2024-06-20 21:12:19 · 714 阅读 · 0 评论 -
BF&KMP
1.我们求最长前后缀的时候,其实只跟模式字符串有关,我们都是看前面相同的部分。模式字符串的前缀和原始字符串的后缀最长的前后缀。2.我们在模式字符串中用到的字符数不同,计算出的最长前后缀的长度是确定的.比如说:我们用了前5个字符,计算出是3 用前4个 计算出是2 ...我们上面的代码不能判断这个情况,那么我们想要检查出这一种情况.上面的字符串叫模式字符串 下面的字符串叫原始字符串。上面的差值大于下面的差值,即可认为上面超出了范围.使用1,2个字符的时候 都没有匹配的。这样暴力的匹配有一定的问题.原创 2024-06-07 09:27:03 · 293 阅读 · 0 评论 -
岛屿问题刷题
【代码】岛屿问题刷题。原创 2024-05-23 21:00:31 · 337 阅读 · 0 评论 -
关键路径--AOE-网(Activity On Edge Netword)
AOE(Activity on Edge)关键路径是指在项目网络图中所代表的一系列活动的路径,其总时长决定了整个项目的最短完成时间。工程进度控制的关键在于抓住关键活动.在一定范围内,非关键活动的提前完成对于整个工程的进度没有直接的好处,它的稍许拖延也不会影响整个工程的进度.工程的指挥者可以把非关键活动的人力和物力暂时调给关键活动,加快其进展速度,以使整个工程提前完工.关键路径是指整个项目中持续时间最长的路径,任何延迟在关键路径上的活动都将导致项目总体延迟。知道关键路径上的活动可以帮助项目团队优化资源分配。原创 2024-05-10 13:22:46 · 1081 阅读 · 0 评论 -
贪心算法 Greedy Algorithm
一般来说,对于规模较小的问题,贪心算法的时间复杂度可以达到O(nlogn)或O(n^2);答:一个问题如果可以用递归的方式分解成若干个子问题,且每个子问题都有明确的最优解(即局部最优),那么这个问题就可以用贪心算法解决。贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。背包问题:给定一组物品和一个背包,每个物品有一定的重量和价值,要求在不超过背包容量的情况下,尽可能多地装入物品。找零问题:给定一定数量的硬币和需要找零的金额,求使用最少的硬币数。原创 2024-05-01 09:34:30 · 1517 阅读 · 0 评论 -
Dynamic-Programming
Those“那些忘记历史的人注定重蹈覆辙”这句话出自美国哲学家乔治·桑塔亚那之手,准确地说,这句话可以被引用为他在《理性的生活:常识中的理性》一书中所说的“那些不记得过去的人注定重蹈覆辙“Those who cannot remember the past are condemned to repeat it” 这句话忘记是在哪里看到的了,但是我觉得用在动态规划这个章节,真的很合适!原创 2024-05-01 09:31:18 · 1685 阅读 · 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 · 978 阅读 · 1 评论 -
Huffman编码
java原创 2024-04-28 15:40:34 · 911 阅读 · 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 · 2140 阅读 · 0 评论 -
图--并查集
并查集是一种数据结构并查集这三个字,一个字代表一个意思。并(Union),代表合并查(Find),代表查找集(Set),代表这是一个以字典为基础的数据结构,它的基本功能是合并集合中的元素,查找集合中的元素并查集的典型应用是有关连通分量的问题并查集解决单个问题(添加,合并,查找)的时间复杂度都是O(1)O(1)O(1)因此,并查集可以应用到在线算法中。原创 2024-04-27 11:17:43 · 1316 阅读 · 0 评论 -
最小生成树
我们来参考一张图我现在的需求不是要所有的边,我想在这些边里面找六条边,因为七个顶点,六条边就够了我要找的这六条边需要是总成本最小的,也就是权重和最小的.这个需求在现实生活中也是有意义的,假设这是你家的七个开关,我现在要铺设电线,把这七个开关连通,铺设方式很多种,但是我要找一个成本最低的.这便是最小生成树问题!原创 2024-04-27 11:17:10 · 391 阅读 · 0 评论 -
二分查找算法
二分查找算法也称折半查找,是一种非常高效的工作于有序数组的查找算法。原创 2024-04-24 20:52:56 · 678 阅读 · 0 评论