20172312 2018-2019-1 《程序设计与数据结构》第五学习总结

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

教材学习内容总结

第七章

查找

1.查找是一个在某个项目中寻找某一指定元素或者肯定某一指定目标不存在的过程,对其进行查找的项目组有时也称为查找池 高效的查找会使该过程所作的比较操做次数最小化php

2.两种不一样的查找web

类型                      特色

线性查找法          
                        从表头开始依次比较,直到找到目标或肯定目标不存在。
                        不是特别高效,惟一的条件是必须可以依次考察每个
                        元素,时间复杂度O(n


                        在一个已排序的项目组中,从列表的中间开始查找,
                        若是中间元素不是要找的指定元素,则削减一半查
二分查找法               池,从剩余一半的查找池(可行候选项)中继续以
                        与以前相同的方式进行查找,屡次循环直至找到目
                        标元素或肯定目标元素不在查找池中。
                        二分查找广泛要快得多,二分查找具备一个对数算法,
                        时间复杂度O(log2 n)
                        二分查找对于大型查找池很是有效率

排序

1.排序是基于某一标准,将某一个项目按照某个规定顺序排列,一般分为顺序排列(比较n^2次)和对数排列(比较nlog2n次),n较小时这两类算法之间几乎不存在实际差异算法

2.几种不一样的排序数组

类型                      特色

冒泡排序                经过重复比较相邻元素且在必要时互换,从而完成排序
                        。将最大值“冒泡”到最后,而后再次扫描,重复该过程
                        ,直到全部元素冒泡到正确的位置,一共进行n-1轮


快速排序法              将列表进行分区,而后对分区进行递归式排序。先选择
                        一个列表元素做为分区元素,而后分割列表,使小于分
                        区元素的元素位于该元素的左边,剩下的位于右边,最
                        后再将该方法应用于两分区 


选择排序                经过反复将某一特定值放到它在列表中的最终已排序位
                        置来实现排序。


归并排序                算法经过将列表递归分红两半直至每一子列表都含有一
                        个元素,而后将这些子列表归并到一个排序顺序中分为
                        分解、合并两步

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

  • 问题1:选择排序和冒泡排序,插入排序的时间复杂度都为O(n^2),但插入排序>冒泡排序>选择排序
  • 问题1解决方案:冒泡排序每次比较相邻的两个元素进行调换位置,而选择排序算法并不在开始调换位置,先从头至尾扫描一遍,将全部元素扫描完毕后,再把霸气中最小的元素和首个元素对调,就把最小的放在了最前面,选择排序每扫描一遍数组,只须要一次真正的交换,而冒泡可能须要不少次

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

  • 问题1:以下图,利用已有的LinkedList类出现以下状况。
  • 问题1解决方案:

码云连接

上周错题总结

1.Interfaces cannot be derived from other interfaces.

A . True
B . False √
接口不能从其余接口派生
错误:接口一样能够从接口派生

2.Interfaces allow us to make polymorphic references, in which the method that is invoked is based on the type of the reference variable rather than the particular object being referenced at the time.

A . True
B . False √
接口容许咱们进行多态引用,其中调用的方法基于引用变量的类型,而不是当时引用的特定对象
错误:接口一样容许引用特定对象

结对及互评

本周结对学习状况

  • 20172315
  • 20172318

结对学习内容

  • pp9.2 pp9.3

学习进度条

  代码行数(新增/累积) 博客数量(新增/累积) 学习时长(新增/累积)
目标 5000行 30篇 400小时  
第一周 22/22 1/1 12/12  
第二周 203/225 2/3 25/37  
第三周 574/799 1/4 15/52  
第四周 1283/1882 2/6 20/72  
第五周 986/2868 1/7 20/92

参考资料

蓝墨云班课数据结构

相关文章
相关标签/搜索