排序
Zzz助
这个作者很懒,什么都没留下…
展开
-
java堆排序
基本思想: 堆排序是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。 首先可以把给出的一个数组,先按照完全二叉树的样子摆出来,然后我们从底往顶地排好序,按大顶堆来讲满足Key[i]>=Key[2i+1]&&key>=key[2i+2]这个特性,也就是每个子二叉树的跟节点比孩子大,最后堆顶是最大原创 2016-10-19 21:05:09 · 290 阅读 · 0 评论 -
java插入排序
1.直接插入排序 基本思想:拿出一个基准元素,来和前面已经排好序的数组逐a个比较,是从小到大排的话,如果基准数比前面最后一个都大,那再前面的输就不需要比了,直接就可以放在后面了,如果基准元素比前面的数i小,则把这个i往后移,继续和其他的数比较,最后就可以知道这个基准元素要放的位置了。 代码:public class Direct { public static void原创 2016-10-19 20:25:01 · 1476 阅读 · 0 评论 -
java快速排序
基本思想: 选择一个基准元素,然后两个游标,一首一尾,然后逐个比较,经过一轮比较后,一部分比基准小,另一部分比基准大,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。 按从小到大排:当首游标位置的元素比基准小则把起始游标向前后一位start++,当尾游标比基准大时则把尾游标向前移end--;如果不符合则互换,我这里是每找到一个不 符合的就赋值一次,等最后在把基准原创 2016-10-18 22:38:22 · 292 阅读 · 0 评论