随笔分类 -  排序算法

常见的排序算法
摘要:希尔排序 简介 希尔排序是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。 算法原理 将待排序数组进行分组(相隔某个增量),对每一组进行直接插入排序,完成一次后,将增量减半,在进行分组直接插入排序,直到增量减为1,整个数组只有一组,变为直接插入排序。排序完成。 假设数组最 阅读全文
posted @ 2017-07-25 16:21 Lee_Shuai 阅读(98) 评论(0) 推荐(0)
摘要:快速排序 简介 快速排序是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法。与冒泡排序同属于交换排序。 算法原理 从数组中取出一个数作为基准数,通常是第一个元素,将比这个数大的元素放在它的右边,比他小的元素放在它的左边,然后对左右区间进行以上操作。直到数组变为有序数组。 代码实现 代码实现 阅读全文
posted @ 2017-07-19 22:43 Lee_Shuai 阅读(181) 评论(0) 推荐(0)
摘要:插入排序 简介 插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 算法原理 可以看作是 斗地主时抓牌的过程 。在一个长度为n的数组中,把第一个元素看作是已经排序好的数组,用第二个数组遍历 阅读全文
posted @ 2017-07-19 00:08 Lee_Shuai 阅读(110) 评论(0) 推荐(0)
摘要:冒泡排序 简介 冒泡排序(Bubble Sort),是一种较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 算法原理 在一个长度为n的数组中,第一次遍历,从数组头部开始,比 阅读全文
posted @ 2017-07-18 23:45 Lee_Shuai 阅读(92) 评论(0) 推荐(0)
摘要:选择排序 简介 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 算法原理 在一个长度为n的数组中,第一次循环遍历n个元素找到最小的元素跟第一个元素交换位置,第二次循环遍 阅读全文
posted @ 2017-07-18 23:30 Lee_Shuai 阅读(96) 评论(0) 推荐(0)