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

    教材学习内容总结

    学习目标

    • 探讨线性及二分查找算法。
    • 探讨选择、插入、冒泡、快速及归并排序算法。
    • 讨论算法的复杂度分析技术。

    具体内容

    • 查找 查找是在一组数据项中找到指定的目标元素,或是判定组内部存在目标的过程。

    • 线性查找 线性查找是从一端开始以线性的方式扫描查找池。

    • 二分查找 二分查找算法借助于查找池中数据的有序性,在每次比较时去除查找池中的大部分元素。

    • 排序 排序是根据某些标准,将一组数据项按确定的次序重排,或为升序或为降序。

    • 选择排序 算法重复这样的过程,分别将每个值放到排好序的最终位置,从而完成一组值的排序。

    • 插入排序 算法重复地将一个具体的值插入到表中已有序的子序列中,从而完成一组值的排序。

    • 冒泡排序 算法重复地比较表中的相邻元素,如果他们呈逆序则交换它们。

    • 快速排序 算法根据任意选定的划分元素来对表进行划分,然后再递归地对划分元素两边的子段进行排序,从而完成对表的排序。

    • 归并排序 递归地对分表,知道每个子表只含有一个元素时为止,然后再将子表按序合并,从而完成对表的排序。

    • 希尔排序 把一个长序列分割为K个短序列进行高效的直接插入排序,形成一种“基本有序”的顺序; 再调用直接插入排序算法,对全体记录进行一个高效的排序。

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

    • 问题1:对归并排序的复杂度计算不是特别理解。
    • 问题1解决方案:我在网上查找了归并排序复杂度计算的相关资料:

    代码调试中的问题和解决过程

    代码托管

    结对及互评

    本周结对学习情况

    • 20162324

    • 结对学习内容

      • 进行了查找排序方面的讨论

    思考

    对于查找排序的很多代码还要多看。

    学习进度条

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

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:5小时

    • 实际学习时间:6小时

    • 改进情况:

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表
    )

    参考资料

  • 相关阅读:
    使用QQ邮箱发送邮件,QQ邮箱的smtp设置
    Linux常用命令
    Pycharm批量查找替换功能
    HTML/CSS学习笔记
    什么样的人适合做自动化测试
    如何测试一个WEB的输入框?
    我收集的学习网站
    SQL查询练习(一)
    linux消息队列应用编程
    linux共享内存简单介绍以及编码演示
  • 原文地址:https://www.cnblogs.com/1zhjch/p/7588307.html
Copyright © 2011-2022 走看看