Alorthim
怪叔叔萝莉控
学一门新技术,要放下姿态,从零开始
展开
-
一、冒泡排序演进
序言 基础版本 测试 运行结果 改良版本 改良版本code 测试 运行结果 代码地址序言冒泡排序相信都知道.恩.对,那我说那么多废话干么.其实我想说的是.我并没有实际掌握每一个细节.抱着空杯心态.我把冒泡重新写了一下.每个交换和标志位都弄了一下.这才算心安基础版本:基础版本的冒泡原理是:因为每一次交换.都会产生一个最大值.通过len次交换.所有的值都依次排好序void bubble_sort(Elm原创 2017-04-29 14:25:53 · 469 阅读 · 0 评论 -
二、插入排序
序言 图解 插入排序code 输入 运行结果 code地址 序言 英语:Insertion Sort)是一种简单直观的排序算法。 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 图解 将arr[i]与arr[x],x取值0<=x<i-1 ,进行比较,如果遇到比i小的或者到达0位...原创 2017-04-29 16:58:51 · 532 阅读 · 0 评论 -
三、希尔排序
序言 标准实现 图解 实例 标准代码 输入 运行结果 改良 输入 运行结果 其他 code地址 引用: 序言 希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本。它的作法不是每次一个元素挨一个元素的比较。而是初期选用大跨步(增量较大)间隔比较,使记录跳跃式接近它的排序位置;然后增量缩小;...原创 2017-04-30 09:00:34 · 443 阅读 · 0 评论 -
四、快速排序
序言 图解排序过程: 快排code 先找pivot 将比pivot小的放在左边,比pivot大的放在右边,递归 code地址 引用 序言 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。 步骤为: 从数列中挑出一个元素,称为”基准”(pivot), 重新排序数...原创 2017-04-30 14:50:16 · 488 阅读 · 0 评论 -
五、选择排序
文章目录原理 原理 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法 package exercise.array; import java.util.Arrays; public class SelectSort {...原创 2019-02-13 12:59:27 · 799 阅读 · 0 评论