学号 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

参考资料

《JAVA软件结构与数据结构》第一周学习总结的更多相关文章

  1. 《JAVA程序设计》_第一周学习总结

    20175217吴一凡 <java程序设计> 第一周学习总结 虽然已经做好了心理准备,但第一周的学习任务着实让我忙了整整三天,还是挺充实的吧.寒假已经在自己的电脑上安装好了虚拟机,我就在我 ...

  2. 201521145048《Java程序设计管理》第一周学习总结

    1. 本周学习总结 学习并了解Java的发展与历史 在网上视频中学习Java 了解并区分JVM JRE JDK 将java与已学语言做比较,发现相同处 2. 书面作业 Q1.为什么java程序可以跨平 ...

  3. 20172329 2018-2019《Java软件结构与数据结构》第一周学习总结

    2018-2019-20172329 <Java软件结构与数据结构>第一周学习总结 在这学期就已经大二了,也已经步入了学习专业课的核心时间,在这个阶段,我们应该了解自己的学习情况,针对自己 ...

  4. 20172328 2018-2019《Java软件结构与数据结构》第一周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第一周学习总结 概述 Generalization 本周学习了软件质量.数据结构以及算法分析的具体内容,主要依托于所用教材 ...

  5. 20172305 2018-2019-1 《Java软件结构与数据结构》第一周学习总结

    20172305 2018-2019-1 <Java软件结构与数据结构>第一周学习总结 教材学习内容总结 本周内容主要为书第一章和第二章的内容: 第一章 软件质量: 正确性(软件达到特定需 ...

  6. 20172328 2018—2019《Java软件结构与数据结构》第二周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以 ...

  7. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问 ...

  8. 20172328 2018-2019《Java软件结构与数据结构》第五周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第五周学习总结 概述 Generalization 本周学习了第九章:排序与查找,主要包括线性查找和二分查找算法和几种排序 ...

  9. 20172328 2018-2019《Java软件结构与数据结构》第六周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第六周学习总结 概述 Generalization 本周学习了第十章:非线性集合与数据结构--树.主要讨论了树的使用和实现 ...

随机推荐

  1. 视差滚动(Parallax Scrolling)的一点小心得

    下面内容来源于我知乎的这个答案:http://www.zhihu.com/question/20990029/answer/21436067 假期有空,整理到博客园这边,并做了一些语境的调整. ——— ...

  2. Linux的基础优化

    归结成口诀: 一清.一精.一增.两优.四设.七其他 一清: 定时清理日志 一精: 精简开机启动服务 一增: 增大文件描述符 两优: linux内核参数的优化.yum源优化 四设:设置系统的字符集.设置 ...

  3. yii验证系统学习记录,基于yiicms(一)写的太长了,再写一篇(二)

    项目地址:https://gitee.com/templi/yiicms 感谢七觞酒大神的付出,和免费分享.当然也感谢yii2的开发团队们. 项目已经安全完毕,不知道后台密码,这种背景下,后台无法进去 ...

  4. C/S模式和B/S模式

    C/S模式和B/S模式 1.C/S模式(Client/Server,客户机/服务器模式) 如QQ 暴风影音,PPlive等应用软件都是C/S模式 是一种软件系统结构的一种,C/S模式是基于企业内部网络 ...

  5. vue写出放大镜的效果

    用vue写出放大镜查看图片的效果. 安装 npm install vue2.0-zoom 引入 import imgZoom from 'vue2.0-zoom' 组件 components: { i ...

  6. connect系统调用

    /* * Attempt to connect to a socket with the server address. The address * is in user space so we ve ...

  7. Linux input子系统学习总结(一)---- 三个重要的结构体

    一 . 总体架构 图 上层是图形界面和应用程序,通过监听设备节点,获取用户相应的输入事件,根据输入事件来做出相应的反应:eventX (X从0开始)表示 按键事件,mice 表示鼠标事件 Input ...

  8. Go 1 Release Notes

    Go 1 Release Notes Introduction to Go 1 Changes to the language Append Close Composite literals Goro ...

  9. gc overhead limit exceeded内存问题

    gc overhead limit exceeded 当出现这种问题的时候一般有两种思路 一.修改idea或者eclipse中的配置文件,将内存调到1024即可 二.在代码中通过system.gc 手 ...

  10. Flask:使用jsonify()转换为JSON的数据在Chrome显示为Unicode编码

    Chrome 66,Flask 1.0.2,MongoDB 3.6.3, 创建了一个Flask应用,在将MongoDB中的数据使用PyMongo包获取后,再使用jsonify转换为JSON格式发送回请 ...