查找:是一种试图爱数据集或数组中发现某一目标值的操作。
查找分为以下几种: ①顺序查找 ②二分法查找 ③分块查找 ④散列表排序:是使列表或数组中的元素按照自然顺序进行排列的一种操作。
排序主要分为以下几种:(插归选基交)——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