算法
文章平均质量分 69
既看方向也看行动
这个作者很懒,什么都没留下…
展开
-
水池抽样算法
原创 2022-03-22 13:49:57 · 288 阅读 · 0 评论 -
布隆过滤器
布隆过滤器(Bloom Filter)是什么?我的理解是,一种可以在缓存等系统中,可以通过简单快速的操作初步判断元素是否在系统的方法。(以算力换时间)通俗讲:比如说,我现在有三个值x、y、z,通过某种规则编辑映射为1、2、3数字值;那么另一个值过来的时候,我用这个规则,把他也编成一个值,如果这个值不在1、2、3里面,那么这个值 【肯定不在】 这里面,如果这个值在1、2、3里,那么,这个值 【有较大的可能性】 在我现有的x、y、z,其实也是函数y=f(x)的思想, y相同,x不一定相同,y不同,x一定不同原创 2021-06-27 17:15:53 · 161 阅读 · 0 评论 -
字符串匹配算法的思考
最近刚好回看了一下KMP算法,对KMP算法有了更深的理解,于是在这里记录一下,使用清晰的文字,将自己的理解记录归纳,目的是让没有看过KMP算法的能够通过此文理解KMP算法,因为我自己有可能某一天也会忘记。所以此文要能够令自己从一个“无知”的状态到理解。甚至进行代码的实现。前置待搜索串: Sn=S0S1S2…Sn。如:abbaabbaaba待匹配串:Pm=P0P1P2…Pn。如:abbaaba...原创 2020-04-18 22:48:35 · 213 阅读 · 0 评论 -
算法导论三-分治法
分治法简单说,分治法即分而治之,即将问题分化为小问题来处理。简化起来看有二到三个步骤:分:将问题分解为若干子问题(复杂度n降低)。治:递归解决子问题。合:合并子问题的解。常见分治法的递归式为: T(n) = 2T(n/2) + θ(n) ,即分为两个解法一样的子问题,以及额外的线性时间。满足主方法的条件2,可得解为: T(n) = n * lg n。...原创 2019-05-04 23:51:01 · 798 阅读 · 0 评论 -
算法导论二-渐进符号
一,渐近紧确界 θ 。数学定义:设 f(n) 和 g(n) 是定义域为自然数集合的函数。如果n→∞ 时,lim f(n) / g(n)存在,并且等于某个常数c ( c >0 ), 那么 f(n) = θ(g(n))。通俗理解为 f(n) 和 g(n) 和 g(n) 同阶,θ用来表示算法的精确阶。如 5n +100 = θ(n)二, 渐近上界 O数学定义: 设 f(n) 和 g...原创 2019-03-22 09:28:51 · 1460 阅读 · 0 评论 -
算法导论一-算法分析
一,插入排序: 插入的定义排序简单来说,就是把待排序值通过比较交换的方式插入到已排序的列表中。找了个比较形象的图:一个简单的例子:#如待排列表为: [3,4,1,2,4,5]#由于第一个是排好序的,因此我们从第二个开始比较。#第一次排序结果: [3,4,1,2,4,5]#第二次排序结果: [1,3,4,2,4,5] 。#得到第二次结果的数据移动情况: [3,4,1,2,4,...原创 2019-03-19 01:23:13 · 371 阅读 · 0 评论 -
算法导论二-递归
一,递归式二,代换法解递归三,递归树法解递归四,主定理法解递归原创 2019-03-22 20:55:46 · 464 阅读 · 0 评论 -
程序员的数学笔记
一,零的故事计算机为什么用2值表示. 方便的表示开关链通和断开的状态. 进制转换 十进制转换为二进制. 不断除以2之后余数的倒置. 如12 . 12 / 2 = 6 余0 ,6 / 2 = 3 余 0, 3 / 2 = 1 余1 , 1 / 2 = 0 余 1. 那么12 = 1100. 二进制转换为十进制. 如. 1100 = 1 * 2³ + 1 * 2²+ 0 ...原创 2019-03-17 19:17:36 · 720 阅读 · 0 评论