******** 2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结

********2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结

教材学习内容总结

查找:

  • 顺序查找:
    • 顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位。适用于线性表的顺序存储结构和链式存储结构。
    • 缺点:查找效率低。
  • 二分查找:
    • 将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。
      优点:高效。明显减少比较次数,提高查找效率
      缺点:折半查找的先决条件是查找表中的数据元素必须有序。
  • 哈希值查找:
    • 若关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数,按这个思想建立的表为散列表。
    • 冲突:两个不同关键字对应同一个内存地址
    • 开放地址法:线性探测再散列,若关键字对应地址非空,向后移位直到找到空地址存入,查找步骤与之相同。
    • 链地址法:将存储空间定义为链表数组,每一个存储空间都代表一个链表的表头,若出现冲突,直接延长链表的长度,查找顺序与存入顺序相同。

排序:

排序衡量标准:相同元素排序后先后次序是否发生变化

  • 插入排序:利用双重循环和插入,逐渐将整个表从前向后实现有序排列。
  • 折半插入排序:对插入排序的改良,将线性探索改为折半探索
  • 希尔排序
  • 快速排序:根任意元素划分表,再递归的对两个子表进行排序,从而完成一整组的排序。
  • 冒泡排序和选择排序
  • 归并排序:先递归的把表对分成每个子表只含一个元素,再将子表按序合并。
  • 基数排序

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

1.排序比较:

代码托管

上周考试错题总结

上周莫得考试

反思:

排序学的不太好,需要加大力度。

结对及互评

点评

  • 博客中值得学习的:
    • 教材学习内容概括行强,简介明了。
    • 有自己动手打新代码,加入了很多个人的理解。
    • 内容很充实,很用心,比上次进步了很多。
    • 博客格式正确,运用了很多不同的方法,排版精美。
    • 希望能在课本内容总结以及问题&解决过程中加入自己的思考,使博客内容更加充实。
      基于评分标准,我给本博客打分12分:
      得分情况如下:
      正确使用Markdown语法(加1分)
      模板中的要素齐全(加1分)
      教材学习中的问题和解决过程(加2分)
      代码调试中的问题和解决过程(加2分)
      其他加分(加6分)
      进度条中记录学习时间与改进情况(1)
      感想,体会不假大空(1)
      有动手写新代码(1)
      错题学习深入(1)
      点评认真,能指出博客和代码中的问题(1)
      结对学习情况真实可信(1)

点评过的同学博客和代码

  • 本周结对学习情况:

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

排序学的不太好,需要加大力度。

参考资料

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 138/138 2/2 23/23 减少了鼠标的使用次数
第二周 749/887 1/4 25/48
第三周 765/1652 1/4 25/48
第四周 694/2346 1/6 20/87
第五周 1659/4005 1/8 21/105
第六周 531/4536 1/9 23/128
第七周 1523/6059 1/10 38/166
第八周 1736/7795 1/11 29/195
posted @ 2019-11-04 19:09  Mr.Stark丿  阅读(196)  评论(0编辑  收藏  举报