
------①排序
Whale-Song
今天 你努力了不管是否有收获 至少你赢了坐享其成的你。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序---冒泡排序
冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。算法原理冒泡排序算法的运作如下:(从后往前)1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后...原创 2018-03-18 20:39:15 · 189 阅读 · 0 评论 -
排序---选择排序
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。通俗的解释对比数组中前一个元素跟后一个元素的大小,如果后面的元...原创 2018-03-18 20:46:01 · 169 阅读 · 0 评论 -
排序---插入排序
插入排序有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最...原创 2018-03-18 20:54:46 · 254 阅读 · 0 评论 -
排序---希尔排序
希尔排序 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时...原创 2018-03-19 20:16:21 · 162 阅读 · 0 评论 -
排序---归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。复杂度时间复杂度为O(nlog₂n) 这是该算法中最好、最坏和平均的时间性能。空间复杂度为 O(n)比...原创 2018-03-20 19:37:11 · 198 阅读 · 0 评论 -
排序---快速排序
快速排序属于分治策略的排序算法。 1.分解:以a[i]为基准元素将a[i:n]划分成3段,a[i,q-1],a[q],a[q+1,n],使a[i,q-1]中任何一个元素都小于等于a[q],a[q+1,n]中任何一个元素都大于等于a[q]。下标q的位置在划分过程中确定。 2.递归求解:通过递归调用快速排序算法分别对a[i,q-1]和a[q+1,n]进行排序。 3.合并:由于对a[i,q-1]和a原创 2017-10-25 21:58:47 · 469 阅读 · 0 评论