时间复杂度取决于大数乘法的大整数除法.docVIP

时间复杂度取决于大数乘法的大整数除法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
时间复杂度取决于大数乘法的大整数除法

时间复杂度取决于大整数乘法的大整数除法 技术领域 本文主要提供一种特殊的分治递归运算的大整数除法(包括整除的商值及整除后取余数)。这种算法主要应用于计算机领域,尤其是加密技术中。 论文背景 当前公开或使用的大整数除法即使采用Knuth的经典名著“The Art of Computer Programming”的第4.3.1节中的猜商值公式来计算,也需要多次试运算,所有这些大整数除法最大的缺点是时间复杂度T(n) = O(n2)这与大整数乘法相比差远了。因此减少试运算的次数,降低时间复杂度时间复杂度时间复杂度时间复杂度T(n) = O(nlog23),如果采用其他更快的大整数乘法,本算法会更快,这就使数值很长的大整数除法的计算速度大幅提高,例如当被除数的长度为4194304个四字节,除数长度为2097152个四字节时,本算法中采用Karatsuba乘法加速时的速度为现有大整数除法速度的30倍左右。 论文内容 本文在这部分将推出一种全新的大整数除法计算理论,并利用该理论构造分治的大整数除法,在分治中充分利用大整数乘法,以达到加速目的。请看下面的推理: 设大整数运算过程中采用h(大于1的整数)进制, 正整数集合:Z={x| x>0并且 [x]=x } 集合1:H= {x| 0≤x<h 并且x为整数} 集合2:H2={x| 1≤x<h 并且x为整数} 任何有限长度的大整数除法都可转化为非负大整数的除法,因此除了最后一段外,下文只涉及非负大整数除法,非负大整数除法可表示如下: C=A/B (A≥0, B>0, C≥0并且A和B都是整数) (1) 当A=0时,显然C=0, (2) 当A<B时,显然C的整数部分为0, (3) 当A≥B时,可通过将被除数和除数都乘以hm从而使A和B都转化为不小于hm的整数,并使结果C保持不变,其中m≥2且m ∈Z,因此(1)式在排除(2)、(3)后,可转化为下式: C=A/B (A≥B,B≥hm, m≥2, C>0且A、B和m都是正整数) (4) 在(4)中A=(A1A2A3…Ai-1Ai)h可用多项式表示如下: A=A1hi-1+ A2hi-2+ A3hi-3+…+ Ai-1h1+ Ai (5) 其中i∈Z,A1∈H2, Ar∈H ( 1<r≤i,且r为整数), h为进制基数, 用AH表示A的前m项,即 AH=A1hi-1+ A2hi-2+ A3hi-3+…+ Am-1hi-(m-1)+ Amhi-m (6) 设A=AH+AE (7) 则有 AE=Am+1hi-(m+1)+Am+2hi-(m+2)+Am+3hi-(m+3)+…+Ai-1h+Ai (8) 在(4)中B=(B1B2B3…Bj-1Bj)h可用多项式表示如下: B=B1hj-1+ B2hj-2+ B3hj-3+…+ Bj-1h1+ Bj (9) 其中j∈Z,B1∈H2, Br∈H ( 1<r≤j,且r为整数), h为进制基数 用BH=(B1B2B3…Bm-1Bm)h×hj-m表示B的前m项,即 BH=B1hj-1+B2hj-2+ B3hj-3+…+Bm-1hj-(m-1)+Bmhj-m (10) 其中m<j 设B=BH+BE 则有 BE=Bm+1hj-(m+1)+Bm+2hj-(m+2)+Bm+3hj-(m+3)+…+Bj-1h+Bj (11) 在(4)中C=(C1C2C3…Ck-1Ck)h+fC可用多项式表示如下: C=C1hk-1+C2hk-2+C3hk-3+…+Ck-1h1+Ck+fC (12) 其中k∈Z,C1∈H2 ,Cr∈H ( 1<r≤k,且r为整数), 0≤fC<1, h为进制基数 设 W=A/BH 则W=( W1W2W3…Wn-1Wn)h+fW可用多项式表示为 W=W1hn-1+W2hn-2+W3hn-3+…+Wn-1h1+Wn+fW (12_H) 其中n∈Z,W1∈H2, Wr∈H ( 1<r≤n,且r为整数), 0≤fW<1,其中h为进制基数 根据前面的陈述可知: A/BH≥A/B 即W≥C 下面进行理论推导的第一大步骤,讨论i、j和k的关系: C=A/B=(A1hi-1+A

文档评论(0)

zyongwxiaj8 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档