
算法导论
文章平均质量分 83
pymqq
北京邮电大学11级硕士,14年3月毕业,入职阿里巴巴商家业务事业部,研究方向深度学习、计算机视觉。
展开
-
同时求最大最小值,总的比较次数至…
思想:记录比较过程中遇到的最小值和最大值,我们并不是将每一个输入元素与当前的最小值和最大值进行比较(这样做的代价是每个元素需要2次比较),而是成对地处理元素。先将一对输入元素互相比较,然后把较小者与当前最小值比较,把较大者与当前最大值比较,因此每两个元素需要3次比较。【摘自《算法导论》原书第2版 P109】原创 2014-02-26 14:15:16 · 778 阅读 · 0 评论 -
【转】 挖雷游戏的概率
原网页:http://blog.youkuaiyun.com/freeboy1015/article/details/7544835编程之美最后一题“挖雷游戏的概率”没附答案,有一则脚注云“此题适合MATLAB用户解答”, 颇感有趣. 题目说, 一局16×16的扫雷游戏刚开始, 只翻开了两格,分别显示数字1和2, 如下图所示(只画出了3×5的局部示意图). 设地雷总数从10逐渐增加到240, 请分别作原创 2014-02-26 14:16:04 · 714 阅读 · 0 评论 -
【转载】《编程之美》读书笔记(一…
千呼万唤始出来,在跳票了快一个月之后,虽然明知道书里还有不少错误没改过来(附了一整页的勘误),但是感觉已经不能等下一版了。赶快去书店买回来,吃完饭躺床上舒舒服服地看。大致翻看之后,总体感觉是书中的内容没有“脱离群众”,很多都是我们平时生活、工作中经常能遇到的。题目不见得难,基本上给一本《算法导论》和足够的时间,大多数人都能解决其中的问题。但注意副标题--“微软技术面试心得”,这就给这本书定下一个基原创 2014-02-26 14:15:55 · 513 阅读 · 0 评论 -
SVM svm_predict_values详解
void svm_predict_values(const svm_model *model, const svm_node*x, double* dec_values){if(model->param.svm_type == ONE_CLASS || model->param.svm_type == EPSILON_SVR|| model->param.svm_type == N原创 2014-02-26 14:15:39 · 3844 阅读 · 0 评论 -
【原创】为什么完全平方数的因子个…
为什么完全平方数有奇数个因数? 解一: 设平方数A=(p1)^a1×(p2)^a2×…×(pn)^an, 其中p1,p2,…,pn是互不相等的质数,所以a1,a2,…,an都是偶数。 从而:a1+1,a2+1,…,an+1都是奇数, 于是平方数A的正约数(即因数)个数(a1+1)(a2+1)……(an+1)是奇数。解二:这个问题不需要用高深的理论来解决,因原创 2014-02-26 14:13:12 · 988 阅读 · 0 评论 -
Freeman链码
Freeman链码原文地址:Freeman链码作者:uleen假设简单图像:f = 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1求其转载 2014-02-26 14:12:15 · 2212 阅读 · 0 评论 -
最大类间方差法(OTSU)
最大类间方差法(otsu)的原理: 阈值将原图象分成前景,背景两个图象。 前景:用n1,csum, m1来表示在当前阈值下的前景的点数,质量矩,平均灰度 后景:用n2, sum-csum,m2来表示在当前阈值下的背景的点数,质量矩,平均灰度 当取最佳阈值时,背景应该与前景差别最大,关键在于如何选择衡量差别的标准 而在ot原创 2014-02-26 14:10:47 · 1156 阅读 · 0 评论 -
位运算求两个整数的平均值
int mean(int x,int y){ return(x&y)+((x^y)>>1);}解释:x&y是取相同的位与,这个的结果是x和y相同位的和的一半,x^y是取x和y的不同位,右移相当于除以2,所以这个函数的功能是取两个数x和y的平均值。比如:mean(729.271) = __500_;原创 2014-02-26 14:17:15 · 816 阅读 · 0 评论 -
【转】向前-向后算法(forward-bac…
学习问题在HMM模型中,已知隐藏状态的集合S,观察值的集合O,以及一个观察序列(o1,o2,...,on),求使得该观察序列出现的可能性最大的模型参数(包括初始状态概率矩阵π,状态转移矩阵A,发射矩阵B)。这正好就是EM算法要求解的问题:已知一系列的观察值X,在隐含变量Y未知的情况下求最佳参数θ*,使得:algorithm)" />在中文词性标注里,根据为训练语料,我们观察到了一系列的原创 2014-02-26 14:16:13 · 923 阅读 · 0 评论 -
算法导论 插入排序和合并排序
插入排序:#include using namespace std;int main(){ intNum=50; inti,j,key; int*A=newint[Num]; for(j=0;jNum;j++) A[j]=rand()0; for(j=1;jNum;j++) { key=A[j];原创 2014-02-26 14:10:31 · 509 阅读 · 0 评论 -
【转】波利亚酒鬼回家定理的证明
证明定理:喝醉的酒鬼总能找到回家的路,喝醉的小鸟则可能永远也回不了家。假设有一条水平直线,从某个位置出发,每次有 50% 的概率向左走1米,有50%的概率向右走1米。按照这种方式无限地随机游走下去,最终能回到出发点的概率是多少?答案是100% 。在一维随机游走过程中,只要时间足够长,我们最终总能回到出发点。现在考虑一个喝醉的酒鬼,他在街道上随机游走。假设整个城市的街道呈网格状分布,酒鬼每走到原创 2014-02-26 14:17:59 · 5123 阅读 · 0 评论 -
对于一个N x M 的…
N x M的网格说的是顶点是NxM原创 2014-02-26 14:17:39 · 940 阅读 · 0 评论 -
数学之美 笔记一
1、只要采用统计语言模型,分词效果都差不多。P462、在机器翻译中,一般来讲,颗粒度大翻译效果好。P463、网页搜索中,小的颗粒度比大的颗粒度要好。P47原创 2014-02-26 14:16:10 · 524 阅读 · 0 评论 -
三个神奇的分数
原文地址:三个神奇的分数作者:浮云散1/49 化成小数后等于 0.0204081632 …,把小数点后的数字两位两位断开,前五个数依次是2、4、8、16、32,每个数正好都是前一个数的两倍。100/9899 等于 0.01010203050813213455 … ,两位两位断开后,每一个数正好都是前两个数之和(也即Fibonacci 数列)。而 100/9801 则等于 0.0102030转载 2014-02-26 14:15:53 · 1278 阅读 · 0 评论 -
一个简单的数学小魔术
在一张纸上并排画 11 个小方格。叫你的好朋友背对着你(确保你看不到他在纸上写什么),在前两个方格中随便填两个 1 到 10之间的数。从第三个方格开始,在每个方格里填入前两个方格里的数之和。让你的朋友一直算出第 10个方格里的数。你便能轻易预测出下一个数是多少。 在一张纸上并排画 11 个小方格。叫你的好朋友背对着你(确保你看不到他在纸上写什么),在前两个方格中随便填两个原创 2014-02-26 14:15:51 · 1728 阅读 · 0 评论 -
将1到9重新排列,使得前n位数字组…
最终结果是:381654729;首先,偶数位上一定是偶数,因为只有偶数才可以被偶数整除;编程实现如下: #include usingnamespace std;void main(){ int a[9]; int j, num; a[4] =5; cout"所求的九位数为:"endl; for(a[0] = 1; a[0] a[0] += 2) {原创 2014-02-26 14:15:46 · 943 阅读 · 0 评论 -
关于二分搜索的一点思考
【转1】今晚看到算法引论关于二分搜索的相关问题,想起了当年看编程珠玑的“无处不在的二分搜索”那章,记得作者说过能完全写对二分搜索的程序员寥寥无几,当时自己也写了下,确实不容易写,主要的难点在于写对,大致的框架可能大家都非常熟悉,但是里面的下标怎么确定是正确的呢?不对的下标很有可能造成死循环。不过,算法引论所推崇的数学归纳法的思想还是很普适的,反应在程序上就是先写n=1的情况,再写归纳阶段的原创 2014-02-26 14:15:43 · 647 阅读 · 0 评论 -
【转】2006 上交笔试题【Google】
题目1:两个二进制数的异或结果两个二进制数异或结果 是 这两个二进制数差的绝对值,即表达为如下:a^b = |a-b| (按位相减)解答过程: 二进制数a与b异或,即a和b两个数按位进行,如果对应位相同,即为0(这个时候相当于对应位算术相减),如果不相同,即为1(这个时候相当于对应位算术相减的绝对值)。由于二进制每个位只有两种状态,要么是0,要么是1,则按位异或操作可以表达为原创 2014-02-26 14:17:53 · 485 阅读 · 0 评论