- 浏览: 2928 次
- 性别:
- 来自: 成都
最新评论
文章列表
排序简单理解即为将一个数据元素的任意序列,重新排列成一个按关键字有序的序列
常用的排序算法有以下几类:插入排序(直接插入排序,希尔排序),选择排序(简单选择排序,堆排序),交换排序(冒泡排序,快速排序 ...
查找简单理解即为在集合中查询获取需要的元素,不同的查询条件以及集合中数据的存储方式决定了使用不同的查找方法。
查找的分类
静态查找:只查找,不改变集合内的数据元素,例如:顺序查找,二分查找,分块查找
动态查找:既查找,又改变集合(增删)内的数据元素,例如:二叉树查找
1、顺序查找
又称线性查找,是从数组的第一个元素开始查找,直到找到待查找元素的位置,直到查找到结果。 最佳的状况时间是1 ,就是第一个就是待查找的远射,最差的查找状况是O(n),就是最后一个是待查找的元素。
算法思路:给定一个key值,在数组中顺序对比,若存在k = key,则查找成功,返回数组中该元素下标,失败返回-1;
in ...
针对集合元素排序,在项目中还是比较常见,最近因为项目中有遇到,总结如下:
对List元素排序实现方法大家都知道用Collections.sort();首先给大家介绍一下Comparable与Comparator的接口的区别。
1.Comparable是对象内部需要实现的接口,如果一个对象要想用利用Array.sort进行排序,那么这个对象必须实现Comparable的接口,比较的实现规则是在对象的内部进行的,然后直接调用Collections.sort()即可。
2.Comparator接口是在对象外实现的接口,主要是方便了对没有实现Comparable接口的对象的比较和排序,比如:当我们 ...