标签:计算机 标记 min 计算机科学 概述 感悟 可用性 xxxxx 相等
第一章 概述
1.1软件质量:
高质量软件的几个特征:
正确性:软件在多大程度上满足其特定需求
第二章 算法分析
2.1算法效率分析
算法效率通常用CPU使用时间来表示
算法分析是从效率的角度对算法进行分析
算法分析是计算机科学的基础
2.2增长函数与大O记法
增长函数:表示问题(n)大小与我们希望最优化的值之间的关系该函数表示了该算法的时间复杂度(CPU的使用时间)和空间复杂度(内存空间)
算法的渐进复杂度(随着n增长时增长函数的一般性质)
主要关注函数的主项(即增长速度最快的的那一项)
渐进复杂度称为算法的阶次
增长函数的项之间的比较
盘子的数量 | 15n2 | 15n | 15n2+45n |
---|---|---|---|
1 | 15 | 45 | 60 |
2 | 60 | 90 | 150 |
5 | 375 | 225 | 600 |
10 | 1500 | 450 | 1950 |
100 | 150 000 | 4500 | 154500 |
1000 | 15 000 000 | 45000 | 15045000 |
10 000 | 1 500 000 000 000 | 450 000 | 1 5000 450 000 |
100 000 | 150 000 000 000 | 4 500 000 | 150 004 500 000 |
1 000 000 | 15 000 000 000 000 | 15 000 000 | 15 000 045 000 000 |
10 000 000 | 1 500 000 000 000 000 | 450 000 000 | 1 500 000 450 000 000 |
一些增长函数及其渐进复杂度
| 增长函数|阶次|标记
|t(n)=17|O(1)| 常量型|
|t(n)=3log n|O(log n)|对数型|
|t(n)=20n-4|O(n)|线性|
|t(n)=12n log n+100n|O(n log n)|n log n|
|t(n)=3n2+5n-2|平方型|
|t(n)= 8n^3+3n2|O(n^3)|立方型|
|t(n)=2^n+18n2+3n|O(2^n)|O(2^n)|指数型|
如果两个算法完成相同任务具有不同的增长函数,比如都是O(n2),那么从运行效率上来说,两者大体上是相等的。
2.3增长函数的比较
(statistics.sh脚本的运行结果截图)
xxx
xx
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 075/200 | 1/1 | 05/20 | |
第二周 | 560/500 | 1/2 | 13/38 | |
第三周 | 972/1000 | 1/4 | 21/60 | |
第四周 | 694/1666 | 1/5 | 21/90 | |
第五周 | 1544/3095 | 1/6 | 30/90 | |
第六周 | 600/3627 | 1/7 | 30/120 |
20172304 2018-2019《java软件结构与数据结构》 第一章 第二章学习总结
标签:计算机 标记 min 计算机科学 概述 感悟 可用性 xxxxx 相等
原文地址:https://www.cnblogs.com/15248252144dzx/p/9607269.html