算法学习
文章平均质量分 61
Z-Calar
这个作者很懒,什么都没留下…
展开
-
数学之美番外篇:平凡而又神奇的贝叶斯方法
写在前面--引用 http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/概率论只不过是把常识用数学公式表达了出来。——拉普拉斯记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。当时数学系的课程还没有学到概率统计。我心想,一个方法能够专门写出一本书转载 2015-02-08 18:07:59 · 312 阅读 · 0 评论 -
矩阵乘法
题目描述 请编程实现矩阵乘法,并考虑当矩阵规模较大时的优化方法。思路分析 根据wikipedia上的介绍:两个矩阵的乘法仅当第一个矩阵B的列数和另一个矩阵A的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积AB是一个m×p矩阵,它的一个元素其中 1 ≤ i ≤ m, 1 ≤ j ≤ p。 值得一提的是,矩阵乘法满足结转载 2015-12-28 14:26:21 · 774 阅读 · 0 评论 -
kmp算法详解
前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。今天我在这里讲一讲我的一些理解,希望大家多多指教,如果有不清楚的或错误的请给转载 2015-12-28 15:58:13 · 229 阅读 · 0 评论 -
BM算法详解
后缀匹配,是指模式串的比较从右到左,模式串的移动也是从左到右的匹配过程,经典的BM算法其实是对后缀蛮力匹配算法的改进。所以还是先从最简单的后缀蛮力匹配算法开始。下面直接给出伪代码,注意这一行代码:j ;BM算法所做的唯一的事情就是改进了这行代码,即模式串不是每次移动一步,而是根据已经匹配的后缀信息,从而移动更多的距离。1j = 0;转载 2015-12-28 18:05:34 · 467 阅读 · 0 评论 -
BM算法 java代码
不废话,直接贴代码public class BM {/*** * @param c 源串中字符* @param s 目标串* @return 返回平移距离*/public static int path(char c , char[] s){int j=s.length;//c出现在s最后一位直接返回s.lengthif(c==s[j-1]){r原创 2015-12-29 11:54:39 · 866 阅读 · 0 评论 -
Huffman编码 java版
前些日子写的Huffman编码,一直没有上传,刚才上传BM算法时候想起来还有它,顺便一块上传吧。public class HuffmanCode {//树节点static class HuffmanTreeNode{HuffmanTreeNode father;HuffmanTreeNode leftNode;HuffmanTreeNode rightNode;char原创 2015-12-29 12:00:27 · 365 阅读 · 0 评论