20172325《Java程序设计》第一周学习总结

教材学习内容总结

第一章

1.1软件质量

  • 软件工程是一门关于高质量软件开发的技术和理论的学科。
  • 高质量软件的特征

1.2 数据结构

  • 软件开发的目的是构建软件,而不仅仅是编写代码。
  • 栈可用于颠倒数据集的顺序;队列可以保持其数据的顺序

第二章

2.1 算法效率分析

为完成某一特定任务所使用的算法的效率,是决定一个程序运行速度的主要因素

2.2 增大函数与大O记法

  • 增长函数表示了该算法的时间复杂度或空间复杂度

  • 我们主要讨论算法的渐进复杂度,渐进复杂度称为算法的阶次(忽略该算法的增长函数中的常量和其他次要项,只保留主项而得出的)

  • 算法的阶次为增长函数提供了一个上界

  • 所有具有相同阶次的算法,从运行效率的角度来说都认为是等价的

2.3 增长函数的比较

  • 寻求一个更高效的算法是一种比使用更快处理器的更好解决方法
  • 增长函数的比较



2.4 时间复杂度分析

  • 循环的时间复杂度等于循环体的复杂度乘以该循环运行的次数;
  • 分析嵌套循环的复杂度时,必须将内层循环和外层循环都考虑进来。

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

暂无

课本习题解答

  • EX2.1 下列增长函数的阶次是多少?

    • a.10n^2+100n+1000
    • 解:O(n^2)
    • b.10n^3-7
    • 解:O(n^3)
    • c.2n+100n3
    • 解:O(2^n)
    • d.n^2 ·log2(n)
    • 解:O(n^2 ·log2(n))
  • EX2.4 请确定下面代码段的增长函数和阶次:

for(int count = 0 ; count < n ; count++)
for(int count2 = 0 ; count2 < n ; count2 = count2 + 2)
{
System.out.println(count,count2);
}
}
- 解:嵌套循环,内层循环的循环次数是n/2,外层循环的循环次数是n,所以增长函数为:F(n)=(n^2)/2,阶次为O(n^2)。
  • EX 2.5:请确定下面代码段的增长函数和阶次:
for(int count = 0 ; count < n ; count++)
for(int count2 = 1 ; count2 < n ; count2 = count2 * 2)
{
System.out.println(count,count2);
}
}
- 解:嵌套循环,内层循环的循环次数是logn,外层循环的循环次数是n,所以增长函数为:F(n)=nlog2(n),阶次为O(n·log2(n))。

代码托管

本周无代码

结对及互评

  • 本周结对学习情况

    • 20172306
    • 结对学习内容
      • 一起学习了第一、二章的内容;
      • 针对上课时老师所讲内容进行了讨论;

其他(感悟、思考等,可选)

新学期开始,希望能够弥补上学期没有学到位的知识,同时与老师和结对伙伴一起顺利完成新一个学期的学习内容。

学习进度条

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

参考资料

20172325《Java程序设计》第一周学习总结的更多相关文章

  1. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  2. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  3. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第一周学习总结

    丁宣元 <面向对象程序设计(java)>第一周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结

    <面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...

  6. 201871010135 张玉晶 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  7. 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...

  8. 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...

  9. 201871010126 王亚涛 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  10. 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结

    面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...

随机推荐

  1. c#:Json字符串转成xml对象

    没看到.net framework中有这样的功能, 懒得到处找了, 索性花点时间自己写一个 /* * Created by SharpDevelop. * Date: 2013/6/24 * User ...

  2. Oracle按时间段分组统计

    想要按时间段分组查询,首先要了解level,connect by,oracle时间的加减. 关于level这里不多说,我只写出一个查询语句: ----level 是一个伪例 ---结果: 关于conn ...

  3. java之 JVM 内存管理详解

    一.JVM结构 根据<java虚拟机规范>规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时 ...

  4. 一步搞定私有Git服务器部署(Gogs)

    http://www.jianshu.com/p/424627516ef6 零.安装 Docker 和 Compsoe 首先安装 Docker: $ curl -sSL https://get.doc ...

  5. jeecms一些经典标签

    http://www.121ask.com/thread-5512-1.html [@cms_channel_list]标签详细介绍 http://www.jeecmstheme.com/2014/0 ...

  6. Oracle约束详解

    一 约束的定义 约束是强加在表上的规则或条件.确保数据库满足业务规则.保证数据的完整性.当对表进行DML或DDL操作时,如果此操作会造成表中的数据违反约束条件或规则的话,系统就会拒绝执行这个操作.约束 ...

  7. linux Posix 信号量 二

    一.Posix信号量 1.Posix信号量分为两种: 1.   有名信号量:使用Posix IPC名字标识(有名信号量总是既可用于线程间的同步,又可以用于进程间的同步) 2.   内存信号量:存放在共 ...

  8. Winfrom中如何使用Iconfont字体图标补充

    1.参考技术文章:http://www.cnblogs.com/isaboy/p/csharp_Font_Awesome_window_form_icon.html 2.参考后主要纠结在图标的unic ...

  9. Boost C++ 库 中文教程(全)

    Boost C++ 库 目录 第 1 章 简介 第 2 章 智能指针 第 3 章 函数对象 第 4 章 事件处理 第 5 章 字符串处理 第 6 章 多线程 第 7 章 异步输入输出 第 8 章 进程 ...

  10. java wab----遇到经常用到集合list/map/

    List与Vector的区别: vector适用:对象数量变化少,简单对象,随机访问元素频繁 list适用:对象数量变化大,对象复杂,插入和删除频] List首先是链表,它的元素不是连续的.vecto ...