Java排序算法(一):概述
来源:互联网 发布:知乎 电脑客户端 编辑:程序博客网 时间:2024/06/06 16:55
排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把他们变成一组按关键字排序的有序队列。
对一个排序算法来说,一般从下面3个方面来衡量算法的优劣:
- 时间复杂度:它主要是分析关键字的比较次数和记录的移动次数。
- 空间复杂度:分析排序算法中需要多少辅助内存。
- 稳定性:若两个记录A和B的关键字值相等,但是排序后A,B的先后次序保持不变,则称这种排序算法是稳定的;反之,就是不稳定的。
就现有的排序算法来看,排序大致可分为内部排序和外部排序。如果整个排序过程不需要借助外部存储器(如磁盘等),所有排序操作都是在内存中完成,这种排序就被称为内部排序。
如果参与排序的数据元素非常多,数据量非常大,计算无法把整个排序过程放在内存中完成,必须借助于外部存储器(如磁盘),这种排序就被称为外部排序。
外部排序最常用算噶是多路归并排序,即将原文件分解称多个能够一次性装入内存的部分,分别把每一部分调入内存完成排序,接下来再对多个有序的子文件进行归并排序。
就常用的内部排序算法来说,可以分为以下几类:
- 选择排序(直接选择排序,堆排序)
- 交换排序(冒泡排序,快速排序)
- 插入排序(直接插入排序,折半插入排序,Shell排序)
- 归并排序
- 桶式排序
- 基数排序
0 0
- Java排序算法(一):概述
- Java排序算法(一):概述
- Java排序算法(一):概述
- Java排序算法(一):概述
- Java排序算法(一):概述
- 排序算法(一) 概述
- JAVA排序算法<概述>
- 排序算法概述java
- 【算法拾遗(java描述)】--- 排序算法概述
- 使用C#详解常用排序算法(一):概述
- 算法概述(一)
- 算法之 排序算法 (一) Java
- 位图排序算法(一),java版
- java实现排序算法(一)
- Java常见排序算法总结(一)
- 排序算法分析(一)-java实现
- java排序算法整理(一)
- Java-经典排序算法(一)
- 修改LDAP的rootDN
- mysql使用substring分割参数实例
- Java排序算法(三):堆排序
- Java排序算法(二):直接选择排序
- 【Unix 网络编程】UDP 客户/服务器简单 Socket 程序
- Java排序算法(一):概述
- [Unity3d]一个优秀的程序必备的几种设计模式
- C语言 ## __VA_ARGS__ 宏
- Java排序算法(四):冒泡排序
- 日语学习之沪江整理 20141012
- 我的编程之路(二十七) 国庆假期(二)
- 如何查看共享池中哪些sql没有绑定变量--from ask tom
- Java排序算法(五):快速排序
- hdoj 1563 Find your present!&&2095 Find your present(2) 异或运算