经典算法
| 算法 | 解决的问题 | 应用场景 | 具体实现 |
|---|---|---|---|
| 弗洛伊德算法 | 最短路径查找 | ||
| 迪杰斯特拉算法 | 最短路径查找 | ||
| KMP字符串查找算法 | 子串匹配 | ||
| 哈夫曼编码算法(贪心算法) | 最优前缀码 | ||
| GeographtHash | 空间向量编码 | ||
| Bloom算法 | 过滤器 | BitArray用下标值代替实际值,用0、1表示存在 | |
| paxos算法 | 分布式中强一致性问题 | ||
| 斐波那契数列 | |||
| 汉明重量算法 | 数据校验和错误检测 | 利用位运算来更高效地计算汉明重量。一种常见的方法是不断地清除二进制数最右边的 1,同时计数器加 1。可以使用n & (n - 1)这个位运算来清除最右边的 1。例如,对于二进制数 1101,n - 1得到 1100,n & (n - 1)得到 1100,此时清除了最右边的 1,计数器加 1;接着对 1100 继续这个操作,n - 1得到 1011,n & (n - 1)得到 1000,计数器再加 1;再对 1000 操作,n - 1得到 0111,n & (n - 1)得到 0000,计数器再加 1,此时 n 变为 0,计算结束,汉明重量为 3。 |
本文来自博客园,作者:Eular,转载请注明原文链接:https://www.cnblogs.com/euler-blog/p/18618034
浙公网安备 33010602011771号