同样一个数组进行从小到大排为例:
简单选择排序是每次都遍历一遍未排序部分,直接记录最小值的角标值,然后和第一个位置交换。
选择排:
第一轮1,[6,8,5,7,2,9,4,3]
第二轮1,2,[6,8,5,7,9,4,3]
第三轮1,2,3,[6,8,5,7,9,4,]
第四轮1,2,3,4,[6,8,5,7,9,]
……
然后到1,2,3,4,5,6,7,8,9
冒泡模式则是第一个和第二个比较,如果前一个比后面大,交换。这样操作下去。
两个相比的话会发现,从比较的次数来说,两种排序方法是一样的。但是交换次数来说,选择比冒泡的交换次数一般来说是要少的。所以我觉得选择排序一般效率应该稍微高一点。 |