经典算法

算法 解决的问题 应用场景 具体实现
弗洛伊德算法 最短路径查找
迪杰斯特拉算法 最短路径查找
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。
posted @ 2024-12-19 22:16  Eular  阅读(39)  评论(0)    收藏  举报