[MIT6.006] 11. Integer Arithmetic, Karatsuba Multiplication 整型算术,Karatsuba乘法

Posted alvinai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[MIT6.006] 11. Integer Arithmetic, Karatsuba Multiplication 整型算术,Karatsuba乘法相关的知识,希望对你有一定的参考价值。

很多人不喜欢√2的表达,他们认为它不是一个数。

技术图片

 

一、卡塔兰数 Catalan numbers

在数方面上,有个著名的数叫卡塔兰数 Catalan numbers,它是组合数学中一个常在各种计数问题中出现的数列。其中它能解决一个叫求括号化方案数量的问题。如图下:

技术图片

在卡塔兰数下,设P为平衡的父字符串集。

(1)λ属于P集合(λ是空字符串);

(2)如果α,β都属于P,则(α)β 也属于P。

如果现在有个空字符串(C0=1)和一对括号(C1=1),则C2=C0C1 + C1C0。归纳结果则为:Cn+1 = ∑CkCn-k (n≥0)。

 

关于卡塔兰树的一个有趣集合问题,如下图所示:

技术图片

 

二、牛顿法 Newton‘s Method

牛顿法就是通过不断逼近某函数f(x)来求取f(x)=0的根解。例如下图中f(x) = x2 - a。

技术图片

 

使用牛顿法求解过程中,数的实际精度符合二次收敛(Quadratic convergence)的特性,即梯度双倍增长,如下图:

 技术图片

 

 三、高精度乘法

现有两个大数,x,y。首先将x,y分别拆开成为两部分,可得x1,x0,y1,y0。他们的关系如下:
技术图片
但这种方式的高精度乘法时间上不是最有效率的,最有效率的是下面的Karatsuba算法:
技术图片
 

以上是关于[MIT6.006] 11. Integer Arithmetic, Karatsuba Multiplication 整型算术,Karatsuba乘法的主要内容,如果未能解决你的问题,请参考以下文章

[MIT6.006] 23. Computational Complexity 计算复杂度

[MIT6.006] 6. AVL Trees, AVL Sort AVL树,AVL排序

dividend = Integer.parseInt(args[0])参数问题

关于Collection转型后 取值

ArrayList<Integer> 接受字符串

双11 AR表情游戏风靡背后:UC发力AR黑科技