很多人不喜欢√2的表达,他们认为它不是一个数。 一、卡塔兰数 Catalan numbers 在数方面上,有个著名的数叫卡塔兰数 Catalan numbers,它是组合数学中一个常在各种计数问题中出现的数列。其中它能解决一个叫求括号化方案数量的问题。如图下: 在卡塔兰数下,设P为平衡的父字符串集。 ...
分类:
其他好文 时间:
2020-04-14 23:01:56
阅读次数:
126
虽然写好了我自己用的a 启发函数但还是有些不尽人意,如果通过数学分析确定不出问题可以工作了的话应该就会发出来了 ...
分类:
其他好文 时间:
2019-09-13 19:54:11
阅读次数:
76
★ 引子 前面两篇介绍了 Comba 乘法,最后提到当输入的规模很大时,所需的计算时间会急剧增长,因为 Comba 乘法的时间复杂度仍然是 O(n^2)。想要打破乘法中 O(n^2) 的限制,需要从一个完全不同的角度来看待乘法。在下面的乘法算法中,需要使用 x 和 y 这两个大整数的多项式基表达式 ...
分类:
编程语言 时间:
2018-04-02 22:03:54
阅读次数:
208
Karatsuba乘法 Karatsuba乘法是一种快速乘法。此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表。此算法主要用于两个大数相乘。普通乘法的复杂度是n2,而Karatsuba算法的复杂度仅为3nlog3≈3n1.585(log3 ...
分类:
其他好文 时间:
2018-03-27 12:24:32
阅读次数:
187
★ 引子 最近在折腾 wxWidgets,同时拖延症又犯了,所以中断了好久。这次来讲讲单数位乘法,前面讲到 Comba 和 Karatsuba 乘法,这两个算法适合用来处理比较大的整数,但是对于一个大整数和一个单精度数相乘,其效果反而会不好,因为计算量过多。实际上单数位乘法只是基线乘法的一个特例.....
分类:
编程语言 时间:
2015-05-09 20:24:26
阅读次数:
335
★ 引子 前面三篇文章讲了 Comba 乘法和 Karatsuba 乘法,有了这两个算法,就可以很轻松的构造有符号数乘法。 顺便提一下:讲 Comba 乘法的实现的时候,给出了 x86 环境下的内联汇编实现,最近添加了 GCC x64 环境的内联汇编,已经补充到帖子当中。★ 实现 有符号数的乘法.....
分类:
编程语言 时间:
2015-04-23 21:35:48
阅读次数:
162
★ 引子 前面两篇介绍了 Comba 乘法,最后提到当输入的规模很大时,所需的计算时间会急剧增长,因为 Comba 乘法的时间复杂度仍然是 O(n^2)。想要打破乘法中 O(n^2) 的限制,需要从一个完全不同的角度来看待乘法。在下面的乘法算法中,需要使用 x 和 y 这两个大整数的多项式基表达式....
分类:
编程语言 时间:
2015-04-21 22:35:55
阅读次数:
240
【概述】
Karatsuba乘法是一种快速乘法。此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表。
此算法主要用于两个大数相乘。普通乘法的复杂度是n2,而Karatsuba算法的复杂度仅为3nlog3≈3n1.585(log3是以2为底的)
【步骤】
Karatsuba算法主要应用于两个大数的相乘,原理是将大数分成两段后变成较小...
分类:
编程语言 时间:
2015-01-28 19:50:40
阅读次数:
242
分治(Divide and Conquer)算法:问题可以分解为子问题,每个问题是可以独立的解决的,从子问题的解可以构建原问题。
Divide:中间分、随机分、奇偶分等,将问题分解成独立的子问题
Conquer:子问题的解可以单独解决,从子问题的解构建原问题最终的解
Combine:每一步将子问题产生的解进行合并得到最终的解,合并的复杂度影响最终的算法时间复杂度
Karatsuba算法是在...
分类:
编程语言 时间:
2014-11-01 01:03:41
阅读次数:
339
多精度里FNT和SSA的点滴.Karatsuba,TOOM3,4.5...Toom-Cook可以看成是插值算法的逐步扩展.比如TOOM3,对Q(x),x=取5个不同值,即可一矩阵(行列式)通过解上面矩阵既可以得到A,B,C,D,E,即Q(x)多项式系数.这个推广后即是Toom-Cook算法.FFT则是Toom-Cook对取值的一个特化.对于长度为N的..
分类:
其他好文 时间:
2014-09-05 16:22:52
阅读次数:
223