• 20172333 2018-2019-1 《程序设计与数据结构》第一周学习总结


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

    教材学习内容总结

    第一章

    软件工程

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

    2.软件开发解决的问题为控制开发过程,实现高质量的软件。(软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。)

    3.软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。

    4.软件必须有效使用诸如CP处理器时间和内存之类的资源。

    5.质量特征必须优先考虑,并可能最大化。

    数据结构

    1.数据结构是计算机存储、组织数据的方式

    2.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

    3.通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

    4.数据结构往往同高效的检索算法和 索引技术 有关。 (https://blog.csdn.net/load2006/article/details/78841709)

    程序=数据结构+算法

    软件=程序+软件工程

    第二章

    1.算法效率通常用CPU使用时间来表示,算法分析是从效率的角度对算法进行分析,是计算机科学的基础.

    2.软件质量的特征之一是资源的使用效率。

    3.增长函数表示与该问题大小相对应的时间或空间的使用。增长函数表示问题大小与我们希望最优化的值之间的关系。该函数表示了该算法的时间复杂度或空间复杂度。如果算法的运行效率低。那么从长远来说,使用更快的处理器也无济于事。

    4.要分析算法的复杂度,通常需要分析循环的运行。循环的时间复杂度等于循环体的复杂度乘以该循环运行的次数。额分析嵌套循环的复杂度时,必须将内层循环和外层循环都考虑进来。

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

    • 问题1:在上面看到了索引技术之后发现自己并没有理解索引技术是什么,于是去百度搜了一下索引技术找到了一篇博客。(https://www.cnblogs.com/zhangxiaolei521/p/6027534.html)
    • 问题1解决方案:

        传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称作磁盘数据库(DRDB: Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,磁盘的读写速度远远小于CPU处理数据的速度,所以磁盘数据库的瓶颈出现在磁盘读写上。
      
        基于此,内存数据库的概念被提出来了。内存数据库(MMDB:Main Memory Database,也叫主存数据库)[1],就是将数据全部或者大部分放在内存中进行操作的数据库管理系统,对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。

    练习

    EX 2.1 下列增长函数的阶次是多少?
    10n^2+100n+1000
        答:O(n^2)
    10n^3-7
        答:O(n^3)
    n^2logn
        答:O(n^2logn)

    EX 2.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,nO(n),所以为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);
    }
    }
        答:内层循环是log2n,外层循环是n,nO(log2n)所以为O(nlog2n)。

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

    在家呆了俩月,虽然有做app但还是明显能感觉到自己很多东西已经忘记,新的学期应该更加努力弥补上个学期的懒惰。

    参考资料

    https://blog.csdn.net/load2006/article/details/78841709

    https://blog.csdn.net/load2006/article/details/78841709

  • 相关阅读:
    Android中Handler原理
    微软柯塔娜(Cortana)的一句名言
    C# 单例模式的五种写法
    HTTP Status 404
    PLSQL中显示Cursor、隐示Cursor、动态Ref Cursor差别
    Android 开发之集成百度地图的定位与地图展示
    iOS知识点汇总
    优化报表系统结构之报表server计算
    淘宝中间的一像素线(手机端)
    解决yum升级的问题“There was a problem importing one of the Python modules”
  • 原文地址:https://www.cnblogs.com/silver-1029/p/9615218.html
Copyright © 2020-2023  润新知