
排序算法
文章平均质量分 85
从_你的全世界路过
Look up at the stars,not down at your feet。
展开
-
排序算法---(2)选择排序---Java实现
写在前面: 在这篇博客中,将会总结选择排序算法的Java实现,分析选择排序算法的时间复杂度,空间复杂度等。选择排序算法的排序思想是,首先第一轮找到数组中最小的数字,并与数组索引为0的元素交换,第二轮从索引为1的位置开始寻找,同样是找到数组中剩余元素最小的元素,然后再与索引为1的元素交换,依次类推。。。。。核心思想即:每一轮找到数组中最小的元素,插在前面,最后完成排序。例如:数组int [] ...原创 2018-03-08 19:13:35 · 264 阅读 · 0 评论 -
排序算法---(3)简单插入排序---Java实现
写在前面: 简单插入排序法其实比较好理解,他的算法过程类似于打扑克抓牌的过程。在我们抓到第一张牌之后,以后抓的每一张牌都会与之前手中的牌对比,对比之后,插入到合适的位置上,直到抓完最后一张牌。那么在算法实现中,也是同理,我们假设数组索引为0的元素有序,从数组索引为1的元素开始,将arr[1]与arr[0]对比,如果大于arr[1]>arr[0],则插入到arr[0]的后面,如果arr[...原创 2018-03-08 20:45:19 · 231 阅读 · 0 评论 -
排序算法---(4)快速排序---Java实现
写在前面: 快速排序是冒泡排序的升级,他的排序思想为:对于给定的一组记录,选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分,直到序列中的所有记录均有序为止。例如:数组int [] arr = {4,3,5,6,1,2},选取基准点为...原创 2018-03-17 19:07:25 · 258 阅读 · 0 评论 -
排序算法---(1)冒泡法---Java实现
写在前面: 冒泡法的排序思路是比较相邻的元素,从数组中arr[0]和arr[1]开始,如果左边的元素大于右边元素,那么交换两个元素的位置,依次比较相邻元素,在第一趟排序之后,数组中最大的元素会被交换到数组最后的位置。下一轮,再重新从数组的第一个元素开始,继续交换,直到不需要再交换为止。 例如:数组int [] arr = new int [] {2,5,3,1,6,8,4,7}(1)第...原创 2018-03-04 13:29:31 · 224 阅读 · 0 评论