Java类库中的一些常用的查找排序

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

        归并排序算法的复杂度为O(NlogN),通常用递归来实现,它反复的将所处理的数组分成两半,在分别对这两半进行排序,最后再把所有经过排序的数组组合在一起。



本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/839640,如需转载请自行联系原作者

相关文章
|
26天前
|
存储 搜索推荐 算法
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
21 1
|
3月前
|
Java API
|
4月前
|
Java API 存储
Java如何对List进行排序?
【7月更文挑战第26天】
184 9
Java如何对List进行排序?
|
3月前
|
存储 Java
Java中ArrayList 元素的排序
本文提供了Java中根据`ArrayList`元素的某个属性进行排序的示例代码,包括实现`Comparable`接口和重载`compareTo`方法,然后使用`Collections.sort`方法进行排序。
|
3月前
|
存储 Java API
【Java高手必备】揭秘!如何优雅地对List进行排序?掌握这几种技巧,让你的代码瞬间高大上!
【8月更文挑战第23天】本文深入探讨了Java中对List集合进行排序的各种方法,包括使用Collections.sort()、自定义Comparator以及Java 8的Stream API。通过示例代码展示了不同情况下如何选择合适的方法:从简单的整数排序到自定义类对象的排序,再到利用Comparator指定特殊排序规则,最后介绍了Stream API在排序操作中的简洁应用。理解这些技术的区别与应用场景有助于提高编程效率。
54 4
|
3月前
|
存储 Java
|
3月前
|
搜索推荐 算法 Java
堆排序实战:轻松实现高效排序,附详细Java代码
嗨,大家好!我是小米,一名热爱技术分享的程序员。今天要带大家了解堆排序——一种基于二叉堆的数据结构,具有O(n log n)时间复杂度的选择排序算法。堆排序分为构建大顶堆和排序两个阶段:先建堆使根节点为最大值,再通过交换根节点与末尾节点并调整堆来逐步排序。它稳定高效,空间复杂度仅O(1),适合对稳定性要求高的场合。虽然不如快速排序快,但在避免递归和节省空间方面有优势。一起动手实现吧!如果有任何疑问,欢迎留言交流!
83 2
|
3月前
|
Java 容器
07 Java数组与数组操作(定义+遍历+排序+增删改查)(上)
07 Java数组与数组操作(定义+遍历+排序+增删改查)
42 8
|
3月前
|
存储 Java API
07 Java数组与数组操作(定义+遍历+排序+增删改查)(下)
07 Java数组与数组操作(定义+遍历+排序+增删改查)
38 4
|
3月前
|
存储 Java