查找 与 排序 总结
查找:是一种试图爱数据集或数组中发现某一目标值的操作。
查找分为以下几种:
①顺序查找
②二分法查找
③分块查找
④散列表
排序:是使列表或数组中的元素按照自然顺序进行排列的一种操作。
排序主要分为以下几种:(插归选基交)
——1.1直接插入排序 o(n sqrt(2))
①插入排序 |
—— 1.2希尔排序 o(n sqrt(1.5))
②归并排序 o(n*logn)
——3.1简单选择排序 o(n sqrt(2))
③选择排序 |
——3.2堆排序 o(n*logn )
④基数排序
——5.1冒泡排序 o(n sqrt(2))
⑤交换排序 |
——5.2快速排序 o(n*logn)
java的类库中包含了一些可以实现对数组或列表实现查找和排序的方法。比如 Arrays.binarySearch 和 Collections.sort。
一个比较器对象可以用来定义对对象进行比较的方法,从而使该对象的列表或数组可以按照多种不同的顺序进行排序。
快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短。
快速排序与归并排序比较重要,需要掌握代码实现,面试的时候经常会遇到,而其它排序需要知道他们的原理与算法复杂度!
////end