摘要: package kpp.sort;/** * 堆的定义如下: n个元素的序列{k0,k1,...,ki,…,k(n-1)}当且仅当满足下关系时,称之为堆。 " ki=k2i,ki>=k2i+1.(i=1,2,…,[n/2])" 若将和此次序列对应的一维数组(即以一维数组作此序列的存储结构)看成... 阅读全文
posted @ 2015-03-27 22:05 kpp 阅读(172) 评论(0) 推荐(0) 编辑
摘要: package kpp.sort;/** * 希尔排序 * 1.设定步长d,每隔d个元素分为一组,组内插入排序; * 2.d/=2,重复1步骤,直到步长为1 * * 们知道一次插入排序是稳定的,但在不同的插入排序过程中,相同的元素可能在各自的插入排序中移动,最后其稳定性就会被打乱,所以希尔排序是不... 阅读全文
posted @ 2015-03-27 22:03 kpp 阅读(159) 评论(0) 推荐(0) 编辑
摘要: package kpp.sort;/** * 选择排序 * 从第0个元素开始,每次选择最小的元素,与当前元素交换 * 简单选择排序是不稳定的排序。 时间复杂度:T(n)=O(n^2)。 * @author kpp * */public class SelectSort { public s... 阅读全文
posted @ 2015-03-27 22:02 kpp 阅读(125) 评论(0) 推荐(0) 编辑
摘要: package kpp.sort;/** * 当前待插入元素data[i],若data[i]>=data[i-1],则表示排序正常,i++处理下一个元素 * 若data[i]= left;j--){ a[j+1]=a[j]; } ... 阅读全文
posted @ 2015-03-27 22:01 kpp 阅读(657) 评论(0) 推荐(0) 编辑
摘要: package kpp.sort;/** * 当前待插入元素data[i],若data[i]>=data[i-1],则表示排序正常,i++处理下一个元素 * 若data[i]=0&&temp = j+1;k--){ a[k+1]=a[k]; ... 阅读全文
posted @ 2015-03-27 21:55 kpp 阅读(179) 评论(0) 推荐(0) 编辑