20172331 《java软件结构与数据结构》第1周学习总结
20172331 《java软件结构与数据结构》第1周学习总结
教材学习内容总结
第一章:概述
-
正确性:软件在大多数程序上满足特定需求。
-
可靠性:保证系统稳定的运行,降低发生故障的概率。
-
健壮性:处理问题的能力。
-
可用性:简单易操作,实用度高。
-
可维护性:软件修改的难易程度
-
可重用性:软件用于不同系统开发的难度。
-
可移植性:软件在不同机器下的运行。
-
运行效率:软件对资源的利用率。
可靠的软件需优先考虑其质量特征,并尽可能地最大化。
第二章
算法效率分析
算法效率是指算法执行的时间,算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量;算法分析是计算机科学的一个基础,涉及多种技术和概念。
增长函数与大O记法
-
增长函数:表示问题(n)大小与我们希望最优化的值之间的关系。涵盖了时间复杂度或空间复杂度。我们主要感兴趣的是渐进复杂度
-
大O记法:
-
增长函数的比较:
教材学习中的问题和解决过程
无
习题
EX2.1
a. 10n^2+100n+1000
b. 10n^3-7
c. 2n+100n3
d. n^2·log(n)
EX2.4
增长函数为:F(n)=(n^2)/2
为嵌套循环,内层循环次数n/2,外层循环次数n。
阶次为:O(n^2)
阶数只于与增长函数的最高阶项有关
EX2.5
增长函数:F(n)=n·log2(n)
为嵌套循环,内层循环次数是\log2(n),外层循环次数是n
阶次为:O[n·log2(n)]
阶数只于与增长函数的最高阶项有关
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 20/20 |