zoukankan      html  css  js  c++  java
  • 20162316刘诚昊 《程序设计与数据结构》 第一周学习总结

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

    教材学习内容总结

    第十二章里相比之前的章节更偏向理论方面,何以改善程序算法,何以使算法变得又快又好等等,是这节章节所主要向我们展示的内容。
    
    • 首先,程序未必是算法。这点在老师给的视频中强调:所谓算法,除了输入输出以外更包含正确性、确定性、可行性和有穷性,缺四者之一都不是算法。而一个好的算法更是要兼具正确、健壮、可读,以及高效率,我们评价一个算法应该从最差效率去考虑。
    • 完成一个任务的方式多种多样,而完成时间取决于我们采取的方式,于程序算法来说,我们要学会并善于对其进行效率分析。
    • 时间复杂度较空间复杂度更长重要,这两种复杂度共同组成算法复杂度。
    • 为了缩短既定目标的时间,优化处理器不如优化算法结构。

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

    1.教材中虽然给出了考入算法效率的切入角度,却并没有给出多少实际例子,后来娄老师在上课时举了一些,但是也未涉及一些方法类,于是自己搜集了一些:

    • 例如Collection类的binarySearch方法实现了二分查找。即是在一个有序的数组中直接查看位于数组中间的元素,看一看是否大于要查找的元素。如果是,用同样的方法在数组的前部分继续查找;否则在后部分。这样的方法在一个1024个元素中的数组中只要比较10次以后便可以定位所匹配的元素,而使用线性查找,如果元素存在,平均需要512次比较;如果元素不存在,需要1024次比较才能确认。

    2.时间复杂度是怎么去比较的?以时、分、秒去定义吗?但是这又和处理器的优劣有关,那怎么更有效地进行比较呢?

    • 以基本操作次数为度量单位。

    3.大O阶的推导。

    得到的结果就是大O。

    4.算法度量如何度量?

    本周结对学习情况

    我的结对对象20162326齐立峰 ,很高兴能在新的学期得到班长的帮助,期待新道路的开展。

  • 相关阅读:
    在字符串中,找出第一个不重复的字符
    servlet/filter/listener/interceptor区别与联系
    Java基础--泛型
    Java基础--访问权限控制符
    Comparable与Comparator的区别
    表示层设计模式:Intercepting Filter(截取筛选器)模式
    Java多线程:线程同步与关键字synchronized
    Java多态-如何理解父类引用指向子类对象
    android 垂直 SeekBar 源代码(VerticalSeekBar)[转]
    回调接口
  • 原文地址:https://www.cnblogs.com/ignor/p/7502378.html
Copyright © 2011-2022 走看看