排序算法
woqi0025
这个作者很懒,什么都没留下…
展开
-
排序算法->选择排序
选择排序是一种容易理解并且相对较为简单的排序方式,他有两个特点: 1.运行时间与输入无关:你会发现如果这个数组中数据全部相等和 元素随机排列的相同长度数组他们的排序时间是一样长的,具体原因是由于其排序思想有关, 在下文会讲解。 2.数据移动最少:每次交换都会改变两个数组元素的值,所以交换次数与数组的大小是线性关系 相对于其他排序算法都不具备这一个特性。 排序思路: 首先确定最小的...原创 2018-07-01 19:57:40 · 140 阅读 · 0 评论 -
排序算法->直接插入排序
插入排序对于实际应用中常见的非随机数组非常有效,简而言之如果你的待排序数组已经部分有序那么使用插入排序是十分高效的。插入排序基本思路:首先我们可以将整个数组看成两个部分即已排序区以及未排序区。而插入排序的任务则是将未排序区数据与已排序区数据进行比较将其放置于合适的已排序区位置。在这个过程中为了给未排序数据腾出位置,已排序区数据将会进行后移操作。直到已排序区索引到达数组最右则排序完成。...原创 2018-07-02 17:23:17 · 123 阅读 · 0 评论 -
排序算法->希尔排序
希尔排序可以看成是插入排序的优化版,其核心排序步骤与插入排序基本相同,但是唯一不同的是希尔排序对排序数组中数据排序思想的优化。为什么要优化插入排序,由于插入排序对于大规模乱序数组的排序是很慢的,因为在插入排序中数据元素需要一点一点的从数组一端移动到另外一端,这无疑在大规模乱序数组中是一个不好的体验。希尔排序基本思路:希尔排序在选取排序数组集采用了分组插入排序的方式,其通过一个gap增量...原创 2018-07-03 15:47:17 · 459 阅读 · 0 评论 -
排序算法->归并排序
归并排序是采用分治的思想,使用先分在归并起来的逻辑,归并排序其最吸引人的性质是它能够保证将任意长度为N的数组排序所需时间和NLogN成正比。其主要思想是先不断递归进行二分,然后通过合并的时候进行子数组的排序不断的合并完成排序。测试数据 4 2 1 5第一步 先二分数据即[4,2] [1,5][4] [2] [1] [5]第二步 这是所有数据单独被划分出来了,然后开始进行合并操作,每...原创 2018-07-06 16:25:23 · 216 阅读 · 0 评论