Java的几种经典排序算法
对一个排序算法来说,一般从如下3个方面衡量算法的优劣:
时间复杂度:主要是分析关键字的比较次数和记录的移动次数。
空间复杂度:分析排序算法中需要多少辅助内存。
稳定性:若两个记录A和B的关键字值相等,但排序后A、B的先后次序保持不变,则称这种算法是稳定的;反之,就是不稳定的。
一、冒泡排序
思想:它重复地走访过要排序的数列,一次比较两个元素,小的上“冒”,大的下沉。
二、直接插入排序
思想:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。
三、简单选择排序
思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
还没有评论,来说两句吧...