x,y为两个长度为n位的整数,计算它们的积
X=A2^n/2+B ,Y=C2^n/2+D。这样,X和Y的乘积为:

XY=(A2^n/2+B)(C2^n/2+D)=AC2^n+(AD+CB)2^n/2+BD
4次n/2位整数的乘法(AC,AD,BC和BD),以及3次不超过n位的整数加法(式中的加号),此外还要做2次移位(分别对应于式中乘2n和乘2n/2)。所有这些加法和移位共用O(n)步运算
T(N)=4T(N/2)+ O(N) T(n)=O(n^2)

XY=AC2^n+[(A-B)(D-C)+AC+BD]2^n/2+BD
需做3次n/2位整数的乘法(AC,BD和(A-B)(D-C)),6次加、减法和2次移位

T(N)=3T(N/2)+ O(N) T(n)=O(n^log3)=O(n^1.59)
T(N)为长度为n的乘法运算,可变为3个长度为n/2的乘法运算, O(N)把3个长度为n/2的乘法运算结果组装起来的时间(加法和位移操作)
画递归树更容易看出时间复杂度

第k级子问题数为3^k,树的高度为logn,最后一级k=logn,子问题数为3^logn,工作量为O(3^logn)=O(n^log3)=O(n^1.59),因为每一级时间成本几何增加,所以最后一级就是整个算法的时间复杂度

注:

算法分析的一个小例子--大数乘法相关推荐

  1. MVVM模式的一个小例子

    使用SilverLight.WPF也有很长时间了,但是知道Binding.Command的基本用法,对于原理性的东西,一直没有深究.如果让我自己建一个MVVM模式的项目,感觉还是无从下手,最近写了一个 ...

  2. 飞鸽传书举一个小例子

    飞鸽传书举一个小例子,每个程序窗口右上角都有三个按钮,如最小化.关闭等.乔布斯觉得不好看,不易用,他提出改用红绿蓝的交通灯.这样修改后,果然 Mac OS 漂亮和易用了很多. 目前互联网和手机上的应用 ...

  3. C# 实现 rtc_通过Xlua实现unity热更新的一个小例子

    通过Xlua实现unity热更新的一个小例子 一.介绍 ​ 热更新是指在更新游戏资源或者逻辑的时候不需要开发者将游戏再打包.发布.玩家重新下载安装包,而是可以通过将需要更新的资源打包成AssetBun ...

  4. puppet运行慢的一个小例子

    一个小例子来看下怎么debug puppet运行慢的问题. 一个小例子来看下怎么debug puppet运行慢的问题. 发现一台机器的agent运行比较缓慢,首先看下puppet server的整体性 ...

  5. unity案例 mysql lua_通过Xlua实现unity热更新的一个小例子

    通过Xlua实现unity热更新的一个小例子 一.介绍 ​ 热更新是指在更新游戏资源或者逻辑的时候不需要开发者将游戏再打包.发布.玩家重新下载安装包,而是可以通过将需要更新的资源打包成AssetBun ...

  6. html5 websocket插件,html5实现的WebSocket一个小例子(附代码)

    本篇文章给大家带来的内容是关于html5实现的WebSocket一个小例子(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 客户端代码: var socket; if (&q ...

  7. 网站制作---asp操作数据库的一个小例子

    qq交流群:创梦技术交流群:251572072  教程下载,在线交流:创梦IT社区:www.credream.com 一般用在asp网站中比较常见: asp操作数据库的一个小例子: id=reques ...

  8. mysql存储过程的一个小例子

    目录标题 mysql存储过程的一个小例子 mysql存储过程的一个小例子 1.首先创建一张表来供我们学习存储过程 三个字段,分别为:id.name.age 其中 id为自增字段,name与age不能为 ...

  9. CapsuleNet的一个小例子

    引用YouTube上一个up主的视频,讲解一个capsulenet的一个小例子 识别的过程 假设我们要识别右面的"船",经过卷积得到2个识别矩形和三角形的胶囊(即向量,之前一篇博客 ...

最新文章

  1. @Data注解使用后get set报错解决方法
  2. linux之source
  3. 做个流量站-聚茶吧, 汇聚茶的地方
  4. 感想总结——热烈庆祝CSDN博客排名进入前20000名
  5. B树与B+树【转载】
  6. (转载)equals与==
  7. Google+ 为什么会死?
  8. 【无线也安全】屏蔽蹭网一族
  9. Cannot change version of project facet Dynamic Web Module to 2.5解决方案
  10. 什么是 开发环境、测试环境、生产环境、UAT环境、仿真环境
  11. 使用搜狗新闻语料库,训练word embeding
  12. 蚁群优化算法之精华蚂蚁系统和排列蚂蚁系统学习笔记
  13. ClassNotFound找不到 redis.clients.jedis.JedisShardInfo
  14. 谷歌地图离线发布系列之偏移处理(三)纠偏算法
  15. 【剑指Offer】整数(一)整数除法 - 两数相除 - JavaScript
  16. 关于读书的名人名言,让你体会读书的好处有哪些
  17. 归一法的计算方法讲解_初三化学计算题中归一法,XY法,拆分法,分配法,K值法是怎样的,最好有具体的例子...
  18. ldirectord 介绍
  19. 设计师必备的UI设计工具,工具包和资源
  20. by max over partition_Oracle高级查询之over(partition by...)

热门文章

  1. python反转字符串(简单方法)及简单的文件操作示例
  2. 常玩手机会导致手指残疾? 专家称没依据
  3. (转)一个古老的编程游戏:Python Challenge全通攻略
  4. Eclipse开发初阶之Eclipse安装
  5. Ethereum 君士坦丁堡安全漏洞对 FOD 的影响
  6. DataReader和DataSet区别
  7. 新IT运维时代 | Docker运维之最佳实践-下篇
  8. rails设置表单默认值amp;amp;隐藏表单
  9. ios AppStore 帐号申请
  10. dedecms织梦移站后替换数据库中文件路径命令