随笔分类 - Algorithm
摘要:比二分更快的方法 如果要求一个高次方程的根,我们可以用二分法来做,这是最基础的方法了。但是有没有更好更快的方法呢? 我们先来考察一个方程f(x)的在点a的泰勒展开,展开到一阶就可以了(假设f(x)在点a可以泰勒展开,也就是泰勒展开的那个余项在n趋于无穷时趋于0) f(x) -> f(a) + (x
阅读全文
摘要:一道Matlab编程题 & 暴力解法 Matlab课上老师出了这样一道题: 一个篮子有K个鸡蛋: 2个2个拿剩1个; 3个3个全部拿完; 4个4个拿剩1; 5个5个拿剩4个; 6个6个拿剩3个; 7个7个拿全部拿完; 8个8个拿剩1个; 9个9个拿全部拿完; 求篮子里鸡蛋的个数K 虽然这是一道mat
阅读全文
摘要:其实这个东西早在7月开始的时候我就写好了,本来想等小师妹写好了她的版本再放到网上的。。。无奈她写的实在是太慢了。这个东西还是有改进的空间的,比如升级成浮点模型啥的。 逆波兰表达式的可以以O(N)时间复杂度处理任意表达式,其实也叫后缀表达式,中缀表达式(就是我们一般看到的表达式(1+1=2)),处理的
阅读全文
摘要:稍微测试了一下感觉还行,可能有BUG,如果发现了还望告诉我。代码是C++11写的,要有能支持constexpr这些关键字的编译器才可以编译出来。 update: 2016.8.5 15:51 加了个可以转出字符串的功能
阅读全文
摘要:网上找的,觉得挺有意思的这个算法,可以得出任意位的e指数,用的仍然是泰勒展开 主要这里有一个非常奇妙的理解,就是每过4位,就可以少算14k层的数,非常巧。
阅读全文
摘要:现在就是Qt开发和给师弟师妹讲下数据结构吧,感觉还挺漫长的,上个Qt帖子等我把成品做出来再更。
阅读全文
摘要:BM算法研究了很久了,说实话BM算法的资料还是比较少的,之前找了个资料看了,还是觉得有点生涩难懂,找了篇更好的和算法更好的,总算是把BM算法搞懂了。 1977年,Robert S.Boyer和J Strother Moore提出了另一种在O(n)时间复杂度内,完成字符串匹配的算法,这个算法在单模匹配
阅读全文
摘要:给你一个长度为N的链表。N很大,但你不知道N有多大。你的任务是从这N个元素中随机取出k个元素。你只能遍历这个链表一次。你的算法必须保证取出的元素恰好有k个,且它们是完全随机的(出现概率均等)。 这一题应该可以用来解决微信红包分配之类的那种问题,主要是概率的证明挺有意思。 来源:http://www.
阅读全文
摘要:KMP算法是由Knuth,Morris,Pratt共同提出的算法,专门用来解决模式串的匹配,无论目标序列和模式串是什么样子的,都可以在线性时间内完成,而且也不会发生退化,是一个非常优秀的算法,时间复杂度的上界是O(n+m)。 那么我们现在就来研究一下KMP算法究竟是个什么东西,我这里就尽量说的简洁一
阅读全文
摘要:在CSDN论坛看到有人问了这个问题,还挺有趣的,关键是他这个的数据量是非常大 原链接http://bbs.csdn.net/topics/391897373 这一题肯定不能用枚举(其实这样的题都不用枚举),一个是时间太长了,第二就是储存容量也不够,这一题大概1e+20左右的大小,跑半天不说,还是会溢
阅读全文
摘要:PS:这篇博客的发表已经快一两年了,以我现在的知识水平来看这个程序写的太烂了,什么函数的定义写在h里面啊,h文件没有预编译宏之类的问题,关键是这个程序的效率太低了,主要原因还是编码的时候不断左移的问题,整个程序的复杂度都是O(c*m^2)了,m是一个很大很大的数,c是最大的编码长度,这个东西当是一个
阅读全文

浙公网安备 33010602011771号