查找 与 排序 总结

查找:是一种试图爱数据集或数组中发现某一目标值的操作。
查找分为以下几种:
①顺序查找
②二分法查找
③分块查找
④散列表

排序:是使列表或数组中的元素按照自然顺序进行排列的一种操作。
排序主要分为以下几种:(插归选基交)

       ——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

原文地址:https://www.cnblogs.com/understander/p/6686466.html