算法复杂度分析
2019-08-16 12:14:53来源:博客园 阅读 ()
算法复杂度分析
执行代码,通过统计,监控等工具,计算算法的执行时间,占用的内存大小等。这种方法叫做事后统计法。 缺点:a 测试结果非常依赖测试环境 b 测试结果受数据规模的影响很大 时间复杂度分析方法 1.只关注循环次数最多的一段代码 2.加法法则:总复杂度等于量级最大的那段代码的复杂度 3.乘法法则:嵌套代码的复杂度:等于嵌套内外代码复杂度的乘积 几种常见时间复杂度: 1.O(1) 只要复杂度不随着n的增长而增长,都视为O(1) 一般情况下,只要不存在循环语句,递归语句,即使有成千上万行代码也是O(1) 2.O(logn) O(nlogn) Log2n * log32 = log3n Log2n = x ——> 2的x次方 = n O(nlogn)复杂度:将一段时间复杂度为O(logn)执行n次 常见算法:归并排序,快速排序 3.O(m+n) O(m*n) 常见空间复杂度: O(1) O(n) O(n*n) 不会出现指数形式的空间复杂度,主要看申请的空间数量 复杂度大小排序: O(1) < O(logn) < O(n) < O(nlogn) < O(n*n) 最好,最坏情况时间复杂度 分别指的是最理想的情况下时间复杂度,以及最糟糕情况下的时间复杂度 平均时间复杂度分析: 多数情况下,我们不考虑最好,最坏时间复杂度,只有当存在一定的量级差异时才去计算 均摊时间复杂度原文链接:https://www.cnblogs.com/wangzepu/p/11328471.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:BigDecimal除法
- DES/3DES/AES 三种对称加密算法实现 2020-06-11
- 数据结构:用实例分析ArrayList与LinkedList的读写性能 2020-06-04
- 终于有人把最适合学习算法的书单找出来了,面试必备! 2020-06-03
- 数据分析 | 数据可视化图表,BI工具构建逻辑 2020-06-02
- 基础排序算法(附加java实现) 2020-06-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash