1.静态方法
静态方法又称为类方法,能够经过类名来激活。
在方法声明中,能够经过static修饰符就能够把它声明为静态的。html
2.泛型方法
git
3.线性查找法
即从列表头开始依次比较每个值,直至找到该目标元素或到列表尾未找到,这是一种最简单的查找方式,但它的效率并非高效的。算法
4.二分查找法
二分查找算法是在有序数组中用到的较为频繁的一种算法,就是不断将数组进行对半分割,每次拿中间元素和目标进行比较。数组
排序是这样一个过程,即基于某一标准,将某一组项目按照某个规定顺序排列。具体可分为如下几种:
数据结构
当咱们渴望先知道排在前面的是谁时,咱们用选择排序;当咱们不断拿到新的数并想保持已有的数始终有序时咱们用插入排序;当给出的数列已经比较有序,只须要小幅度的调整一下时,咱们用冒泡排序。架构
2.插入排序
基本思想: 在要排序的一组数中,假设前面(n-1) [n>=2] 个数已是排好顺序的,如今要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的, 如此反复循环,直到所有排好顺序。
算法步骤:
1.将第一待排序序列第一个元素看作一个有序序列,把第二个元素到最后一个元素当成是未排序序列。
2.从头至尾依次扫描未排序序列,将扫描到的每一个元素插入有序序列的适当位置。(若是待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)学习
3.冒泡排序
冒泡排序是最经常使用的数组排序算法之一,它排序数组元素的过程老是小数往前放,大数日后放,相似水中气泡往上升的动做,因此称做冒泡排序。
算法步骤:
1.比较相邻的元素。若是第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做一样的工做,从开始第一对到结尾的最后一对。这步作完后,最后的元素会是最大的数。
3.针对全部的元素重复以上的步骤,除了最后一个。
4.持续每次对愈来愈少的元素重复上面的步骤,直到没有任何一对数字须要比较。
测试
4.快速排序
快速排序是由东尼·霍尔所发展的一种排序算法。在平均情况下,排序 n 个项目要Ο(n log n)次比较。在最坏情况下则须要Ο(n2)次比较,但这种情况并不常见。事实上,快速排序一般明显比其余Ο(n log n) 算法更快,由于它的内部循环能够在大部分的架构上颇有效率地被实现出来。
算法步骤:
1 .从数列中挑出一个元素,称为 “基准”(pivot),
2 .从新排序数列,全部元素比基准值小的摆放在基准前面,全部元素比基准值大的摆在基准的后面(相同的数能够到任一边)。在这个分区退出以后,该基准就处于数列的中间位置。这个称为分区(partition)操做。
3.基准的位置将数列分为左右两部分,将左右两部分按照上面的步骤重复(递归调用)便可。
递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,可是这个算法总会退出,由于在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。.net
步骤2~5为合并两个有序区间设计
无
正确使用Markdown语法(加1分)
模板中的要素齐全(加1分)
教材学习中的问题和解决过程, (加3分)
感想,体会真切的(加1分)
点评认真,能指出博客和代码中的问题的(加1分)
这一周花了点心思在这一章上面,也好好阅读了不少内容,掌握的还算能够。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 | |
第二周 | 700/700 | 1/2 | 10/20 | |
第三周 | 700/1400 | 1/3 | 10/30 | |
第四周 | 500/1900 | 2/5 | 10/40 | |
第五周 | 569/2469 | 1/6 | 10/50 |
计划学习时间:10小时
实际学习时间:10小时