算法有很多种分类,我们一种一种来,先来看看插入排序,插入排序的意思是在拿到一个新的数前,之前的序列已经排好,现在的任务就是找到这个新的数字在序列中的位置,这就需要一个个去比较,直到找到一个位置满足要求。插入排序又分为两类。 1、直接插入排序,直接插入排序,名副其实,从序列的第二个数开始,依次与前面已 ...
分类:
编程语言 时间:
2017-09-24 14:33:44
阅读次数:
142
这是一个《算法导论》上的练习,可将插入排序的总体运行时间降至Θ(nlgn),我们先看看插入排序的算法代码: 从代码可以看出,arr[j] > temp的判断查找是在前面所有小于 j 的部分中进行移动和查找的,而小于的 j 部分都是已经排好序的,因此我们可设计使用二分查找带进行更快速的处理。但我的尝试 ...
分类:
编程语言 时间:
2017-09-21 14:52:43
阅读次数:
133
希尔排序 Shell Sort 介绍: 希尔排序(Shell Sort)也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有 ...
分类:
编程语言 时间:
2017-09-20 16:31:29
阅读次数:
138
本文节选自:http://python.jobbole.com/82270/ 本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序 ...
分类:
编程语言 时间:
2017-09-06 10:03:05
阅读次数:
226
希尔排序 Shell Sort 介绍: 希尔排序(Shell Sort)也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有 ...
分类:
编程语言 时间:
2017-09-05 01:38:58
阅读次数:
177
菜鸟中的菜鸟一枚,面临找工作,复习下数据结构,写的插入排序算法记录一下,每天写一点,不断积累吧!importjava.util.Scanner;/****@authorDL*数据结构复习之插入排序练习程序**/publicclassSortTest{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);in..
分类:
编程语言 时间:
2017-09-02 00:19:22
阅读次数:
190
两种方法都编译运行通过,可以当做排序类直接使用。 折半插入排序: 直接插入排序: ...
分类:
编程语言 时间:
2017-08-30 23:48:15
阅读次数:
360
基本思想 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 希尔排序时效分析很难 ...
分类:
编程语言 时间:
2017-08-25 12:21:56
阅读次数:
212
转载:http://www.cnblogs.com/jingmoxukong/p/4303279.html 要点 希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。该方法因DL.Shell于1959年提出而得名。 希尔排序的基本思想是: 把记录按步长 ...
分类:
编程语言 时间:
2017-08-23 13:42:19
阅读次数:
266
插入排序算法 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。 直接插入排序 直接插入排序的排序思路 ...
分类:
编程语言 时间:
2017-08-21 21:08:06
阅读次数:
225