20162326 2017-2018-1 《程序设计与数据结构》第3周学习总结

时光怂恿深爱的人放手 提交于 2019-12-19 11:41:34

20162326 齐力锋 2017-2018-1 《程序设计与数据结构》第3周学习总结

教材学习内容总结

  • 排序的分类 :
  • 按排序过程中的操作分类

    插入排序
    交换排序
    选择排序
    归并排序
    选择排序

  • 按排序算法的时间复杂度分类

    简单的排序算法o ( n^2)
    先进的排序算法
    基数排序

  • 查找即在一组项内找到指定目标或是确定目标不存在的过程。

  • 查找的分类

    线性查找
    二分查找

  • 二分查找的特点为查找池有序

  • 二分查找适合大的查找池,更有效一点
  • 选择排序、插入排序及冒泡排序的平均时间复杂度都是O(n^2)。
  • 快速排序的关键是选一个正确的枢轴
  • 归并排序的最坏运行时间复杂度是O n x logn.

各项排序的方法和我的理解

  • 希尔排序:把一个长序列分隔成K个短序列,但是这个K要找好不然会很麻烦,他是对直接插入排序的改进
  • 插入排序:比较然后插入排序
  • 交换排序:
  • 冒泡排序:有点类似身高从高到低排序 ,扫描一次确定一个元素的位置,
  • 快速排序:效率较高,选择一个枢轴,最终使得左边都比枢轴小,右边都大。枢轴移动是比较
  • 归并排序:把整个表分成多个表,分别排好序后再合并
  • 选择排序:需要扫描整个表,有时候效率不高

代码托管

算法的效率

本周结对学习情况

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

本周主要学习了查找和排序,我认为明白这些方法只是入门,能自己写出来代码才是水平。理解和动手之间差了很多层次

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!