1.下面函数的复杂度是:

long foo(long x){
if(x<2) return 1;
return x*x*foo(x-1);
}

解析:

当n>=2时
foo(n)=n^2*foo(n-1)=n^2*(n-1)^2*foo(n-2)=...=n^2*(n-1)^2*...*2*foo(1);
递归n-1步,时间复杂度为O(n)。
 
2.对于移动平均算法,是计算某变量之前n个数值的算术平均,正确的说法是:A

  A.空间复杂度是O(1)

  B.空间复杂度是O(n)

  C.空间复杂度是O(logn)

  D.空间复杂度是O(nlogn)

解释:

  注意算的是空间复杂度

  任何一个算法不同情况下可能有多种解法,一般我们以时间复杂度为评判的话,就会用牺牲空间换时间。
  这个算法最明显的有两种解法,
  1.每次进来一个变量n,就遍历前面n个数,然后求和,再取平均,这样的话时间复杂度为O(n),空间为O(1);
  2.以空间换时间:从前往后没计算一次保留一次求和值到一个辅助空间,这样计算下一个的时候直接取得前一个和值加上当前数,再取平均得到当前平均,这样的话时间复杂度为O(1),空间为O(n)

最新文章

  1. python将图片转换为Framebuffer裸数据格式(终端显示图片)
  2. Path
  3. CSS3选择器(一)
  4. Think Python - Chapter 12 Tuples
  5. mybatis like 查询
  6. RPi 2B 中文语言包
  7. 向ibus-table-wubi里添加属于自己的输入法(98五笔)
  8. 字符串---分割成数组(str_split ),算出一个字符串中出现最多的字符, 学校中最多的姓名
  9. 使用solrj查询数据(java代码)
  10. Datatables快速入门开发--一款好用的JQuery表格插件
  11. Struts(十二):异常处理:exception-mapping元素
  12. [BZOJ]1052 覆盖问题(HAOI2007)
  13. memcached实战系列(三)memcached命令使用
  14. 自制操作系统Antz(11)——实现shell(下)命令响应
  15. oh_my_zsh
  16. oracle sql优化的几种方法
  17. 16个PHP设计模式详解
  18. win764位系统上让32位程序能申请到4GB内存方法
  19. 解析 神奇的 Object.defineProperty
  20. ,SQL语句关键词以及实例

热门文章

  1. 如何下载最新的固件到Pixhawk
  2. hibernate笔记3--hql查询
  3. 云为 | 提供海外 IT 人才派遣、猎头、人力资源外包服务
  4. LeetCode Valid Palindrome 有效回文(字符串)
  5. C,通信,多线程,数据库小练习——在线电子词典第一版
  6. Django Form 表单
  7. Android(java)学习笔记91:Eclipse中代码提示去掉@override,不然就报错!
  8. hbase查询基于标准sql规范中间件Phoenix
  9. 2018.6.2 AndroidStudio项目中的问题:===== oast.LENGTH_LONG和Toast.LENGTH_SHORT分别对应多长时间
  10. python剑指offer系列二叉树中和为某一值的路径