20172308《Java软件结构与数据结构》第一周学习总结

教材学习内容总结

第 1 章 概述

  1. 软件质量的特征:正确性、可靠性、健壮性、可用性、可维护性、可重用性(别人写的组件自己可以拿过来用)、可移植性、运行效率
  2. 数据结构:计算机存储、组织数据的方式
    程序 = 数据结构 + 算法

第 2 章 算法分析

  1. 增长函数:表示问题(n)大小与我们希望最优化的值之间的关系(该函数表示了该算法的时间或空间复杂度)
  2. 大O记法:
  • 渐进复杂度称为算法的阶次;
  • 渐进复杂度这一特性基于该表达式的主项(即表示问题大小n的表达式中增长最快的那一项),随着n的增长,常量与次项很快可以忽略不计
  • 大O记法的类别有多种,但相同两个类别的算法具有相同的算法,但是其增长函数不一定相同
  1. 算法效率:通常用CPU的使用时间表示
  2. 更快的CPU并不能影响主项,只会给增长函数增加常量(由此可见,需要重视算法分析)
  3. 时间复杂度分析
  • 循环运行的复杂度分析:等于循环体的复杂度乘以该循环运行的次数
  • 嵌套循环的复杂度分析:需要考虑内层和外层循环
  • 方法调用的复杂度分析:(注:只有可运行的语句才会增加时间复杂度)

猜你喜欢

转载自www.cnblogs.com/zhouyajie/p/9612460.html