博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法 - 时间复杂度
阅读量:7126 次
发布时间:2019-06-28

本文共 516 字,大约阅读时间需要 1 分钟。

注:本文仅为笔记

unit_time

读、运算、写均算作一个unit_time

计算技巧

  1. 只关注循环执行次数最多的一段代码。
  2. 加法法则:总复杂度等于量级最大的那段代码的复杂度。
  3. 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积。

复杂度量级

  • 常数阶 O(1)
  • 线性阶 O(n)
  • 对数阶 O(logn)
  • 线性对数阶 O(nLogn)
  • 平方阶 O(n^2)、立方阶 O(n^3)、k次方阶 O(n^k)
  • 指数阶 O(2^n)
  • 阶乘阶 O(n!)

举例:

O(1)

int i = 8;int j = 6;int sum = i + j;

O(n)

i=1;while (i <= n)  {  i = i * 2;}

O(m + n)

int cal(int m, int n) {  int sum_1 = 0;  int i = 1;  for (; i < m; ++i) {    sum_1 = sum_1 + i;  }  int sum_2 = 0;  int j = 1;  for (; j < n; ++j) {    sum_2 = sum_2 + j;  }  return sum_1 + sum_2;}

clipboard.png

转载地址:http://dseel.baihongyu.com/

你可能感兴趣的文章
Excel导数据进mysql
查看>>
Android上传文件到Web服务器,PHP接收文件
查看>>
C#下简单的函数指针使用实例
查看>>
Ex2010学习(四),TMG发布Exchange 2010 OWA
查看>>
Android SDK 离线包下载(2014年8月7日更新)
查看>>
初探druid 数据源加密,简单的密码加密。
查看>>
中文Webfont(附神器推荐)
查看>>
数据中心分解实验(一)------ 7 5 2
查看>>
ganglia部署错误配置-03.docx
查看>>
redis安装及php扩展
查看>>
CP2102六合一多功能串口模块使用
查看>>
Java-数值中使用下划线进行分隔
查看>>
${content}和<c:out value="${content}">区别
查看>>
Android内存优化
查看>>
Linux文件管理
查看>>
JFinal常见问题汇总
查看>>
Ubuntu install vsftpd
查看>>
【BuglyIOS干货分享】iOS内存管理:从MRC到ARC实践
查看>>
【Bugly干货分享】Android性能优化典范之多线程篇
查看>>
【腾讯Bugly干货分享】QQ电话适配iOS10 Callkit框架
查看>>