查找是一种试图在数据集或者数组中发现某一目标值的操作
       
        排序是使列表中的元素按照自然顺序进行排序的一种操作
       
        Java的类库中包含来一些可以实现对数组或者列表实现查找和排序的方法。
        例如:Arrays.binarySearch和Collections.sort
       
        一个比较器对象可以用来定义对对象进行比较的方法,从而使对象的列表或数组可以按照多种不同的顺序进行排序。
       
        实现分析是一种通过运行一个程序或者算法来测定它的运行时间的方法。
       
        算法分析一种是通过对算法的代码或伪码进行分析以推断其效率的方法。
       
        算法按其复杂度不同分为许多类,通常用O表示法表示,比如线性算法的复杂度可以表示为O(N)。
       
        顺序查找是一种对列表中所有元素进行判断,直到发现目标值的线性O(N)查找算法。
       
        二分法查找是通过反复的将一个已经排好序的数据集减半的方法来查找索要的目标元素,它具有对数复杂度O(logN).
       
        选择排序是一种复杂度为O(N 2)的排序方法,他通过反复查找未处理数据中最小的一个并把他放置在数组所剩余位置的最前端 来完成对数组的排序。
       
        归并排序算法的复杂度为O(NlogN),通常用递归来实现,它反复的将所处理的数组分成两半,在分别对这两半进行排序,最后再把所有经过排序的数组组合在一起。