算法笔记

来源:互联网 发布:男生 马丁靴 知乎 编辑:程序博客网 时间:2024/04/29 00:21

排序算法1

1、梳排序

梳排序是在冒泡排序的基础上改进的,原理:将待排序数组的长度/1.3的近似值作为比较距离进行比较和交换,直到距离小于3,之后每次减一进行比较和交换。

例:数组[9,5,6,7,3,4,5,9,8,15]

(1)数组长度为10,第一次的比较距离为10/1.3 = 8

比较的数据有9和8,5和15

比较交换后的结果为

[8,5,6,7,3,4,5,9,9,15]

(2)第二次的比较距离为8/1.3 = 6

比较的数据有8和5,5和9,6和9,7和15

比较交换后的结果为

[5,5,6,7,3,4,8,9,9,15]

(3)第三次的比较距离为6/1.3 = 4

比较的数据有5和3,5和4,6和8,7和9,3和9

比较交换后的结果为

[3,4,6,7,5,5,8,9,9,15]

(4)第四次的比较距离为3

结果为

[3,4,5,7,5,6,8,9,9,15]

(5)第五次的比较距离为2

结果为

[3,4,5,6,5,7,8,9,9,15]

(6)第六次的比较距离为1

结果为

[3,4,5,5,6,7,8,9,9,15]

参考:http://www.cnblogs.com/kkun/archive/2011/11/23/2260293.html

1 0
原创粉丝点击