排序的概念及其运用
排序的概念
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排 序算法是稳定的;否则称为不稳定的。
稳定性的意义:在根据多种属性进行排序时会有巨大的意义。比如我们先对学生按照学号进行了排序,再对学生进行了按照成绩进行排序,此时学号和成绩成为了两种决定因素,如果我们在按照成绩进行排序时,所使用的算法是不具有稳定性的,那么在对成绩排序后,之前根据学号进行的排序就没有意义了,此时就会出现相同成绩,但是学号靠后的在前面,反之,如果我们选择的排序具有稳定性,那么成绩相同,学号靠前的应该在前面。
内部排序:数据元素全部放在内存中的排序。
外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。一般数据是存储在磁盘中的。
区分内外排序:
排序类型 | 数据存储 | 访问速度 | 支持的访问形式 |
---|---|---|---|
内排序 | 数据在内存中(数组) | 快 | 下标随机访问 |
外排序 | 数据在磁盘中,数据量很大 | 慢 | 串行访问 |
排序的运用
下面就是按价格对手机进行排序:
下面是根据综合得分对大学进行排名: