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

学号 20172326 《JAVA软件结构与数据结构》第一周学习总结

教材学习内容总结

  • 软件质量的几大特性
  • 增长函数与大O记法
  • 大O记法用来表示表示增长函数,从而来表示算法的复杂度
  • 算法的运行效率至关重要,一个复杂的算法即使再高的处理器也于事无补
  • 不同的嵌套或循环下情况下,算法复杂度的计算方法

教材学习中的问题和解决过程

  • 可靠性与健壮性的关系
  • 可靠性关注的是软件系统发生故障的频率以及在什么环境下发生故障,而健壮性关注的是软件系统出现故障时会发生什么。

教材习题

问题一:下列增长函数的阶次是多少?

  • 问题(1):10n^2+100n+1000
  • 解:n^2
  • 问题(2):10n^3-7
  • 解:n^3
  • 问题(3):2n+100n3
  • 解:2^n
  • 问题(4):n^2 ·log(n)
  • 解:n^2 ·log(n)

问题二:请确定下面代码段的增长函数和阶次

for(int count = 0 ; count < n ; count++)
    for(int count2 = 0 ; count2 < n ; count2 = count2 + 2)
        {
            System.out.println(count,count2);
        }

  • 由题可知,该代码的增长函数为(n/2 - 1)*n,所以阶次为n²

问题三:请确定下面代码段的增长函数和阶次

for(int count = 0 ; count < n ; count++)
    for(int count2 = 1 ; count2 < n ; count2 = count2 * 2)
        {
            System.out.println(count,count2);
        }

  • 外层循环n次,内层循环log n 次,所以阶次为nlogn,增长函数为nlogn-1

其他(感悟、思考)

  • 好好学习,天天向上

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 3/3

参考资料

原文地址:https://www.cnblogs.com/326477465-a/p/9613496.html