zoukankan      html  css  js  c++  java
  • 20172332 2017-2018-2 《程序设计与数据结构》第一周学习总结

    20172332 2017-2018-2 《程序设计与数据结构》第一周学习总结

    教材学习内容总结

    第一章

    • 1.高质量软件的特征:①正确性——满足特定需求。 ②可靠性——故障发生的频率和危险程度。 ③健壮性——出错后,可以得到恰当处理的程度。 ④可用性——使用的难易程度。 ⑤可维护性——对软件修改的难易程度。 ⑥可重用性——软件组件能用于其他软件的难易程度。 ⑦可移植性——软件在不同的计算环境中使用的难易程度。 ⑧运行效率
    • 2.数据结构:队列、栈、树等与数据存放顺序有关。

    第二章

    • 1.算法分析:计算机科学的基础,决定一个程序运行速度的主要因素。
    • 2.增长函数:表示问题(n)大小与我们希望最优化的值之间的关系,该函数表示了该算法的时间复杂度或空间复杂度。我们不需要知道某一算法确切的增长函数,主要关注的是渐进复杂度(n、n^2等一系列)
    • 3.渐进复杂度:算法的阶次。
    • 4.大O记法:具有相同阶次的算法,从运行效率的角度来说都认为是等价的。
    • 5.时间复杂度分析:通常需要分析循环的运行,比如:循环n次就是O(n)。
    • 6.嵌套循环的复杂度分析:外层循环运行的次数与内层循环的次数相乘。

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

    • 问题1:时间复杂度的计算规则。
    • 问题1解决方案:
      -

    课后题解答

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

    • a.10n^2+100n+1000
    • a.O(n^2)
    • b.10·n^3-7
    • b.O(n^3)
    • c.2^n+100· n^3
    • c.O(2^n)因为增长速率快
    • d.n^2 ·log(n)
    • d.O(n^2logn)

    EX2.4:请确定下面代码段的增长函数和阶次:

    for(int count = 0 ; count < n ; count++)
        for(int count2 = 0 ; count2 < n ; count2 = count2 + 2)
        {
            System.out.println(count,count2);
        }
    }
    
    • 外层循环n次,内层循环n/2次,根据乘法准则可以发现是增长函数是t(n)=(n2)/2,阶次是O(n2)

    EX2.5:请确定下面代码段的增长函数和阶次:

    for(int count = 0 ; count < n ; count++)
        for(int count2 = 1 ; count2 < n ; count2 = count2 * 2)
        {
            System.out.println(count,count2);
        }
    }
    
    • 外层循环n次,内层循环log2(n)次,根据乘法准则可以发现,增长函数是t(n)=nlog2(n),阶次是O(nlog2n)

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

    • 新的学期新的开始,继续努力吧。

    学习进度条

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

    参考资料

  • 相关阅读:
    使用 adb 调用 ActivityManager
    shell编程学习
    ActivityInstrumentationTestCase2 和 ActivityUnitTestCase
    安装python的selenium webdriver库
    Ruby selenium-webdriver 测试笔记(一)
    android自动化框架简要剖析(一):运行原理+基本框架
    android自动化框架简要剖析(二):Instrumentation+junit.framework.TestCase
    adb使用手册
    最近常用到的adb命令
    adb无法启动,处理方式:卸载360手机助手
  • 原文地址:https://www.cnblogs.com/yu757503836/p/9614784.html
Copyright © 2011-2022 走看看