排序算法六:选择排序之直接选择排序
声明:引用请注明出处http://blog.csdn.net/lg1259156776/web
引言
在个人博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法作一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。算法
系列博文的前五篇分别讲述了插入排序和交换排序,本文介绍选择排序中直接选择排序这一彷佛是最慢的排序算法。svg
排序相关的的基本概念
- 排序:将一组杂乱无章的数据按必定的规律顺次排列起来。
- 数据表( data list): 它是待排序数据对象的有限集合。
- 排序码(key):一般数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,做为排序依据。该域即为排序码。每一个数据表用哪一个属性域做为排序码,要视具体的应用须要而定。
- 分类
- 内排序:指在排序期间数据对象所有存放在内存的排序;
- 外排序:指在排序期间所有对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。
排序算法的分析
排序算法的稳定性
若是在对象序列中有两个对象.net