插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-06-23 00:37:10
阅读次数:
272
插入排序的算法复杂度为O(n2),但假设序列为正序可提高到O(n),并且直接插入排序算法比較简单,希尔排序利用这两点得到了一种改进后的插入排序。一. 算法描写叙述希尔排序:将无序数组切割为若干个子序列,子序列不是逐段切割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小.....
分类:
其他好文 时间:
2014-06-22 23:28:03
阅读次数:
285
输入:一个无序的单链表的头结点输出:一个有序的单链表的头结点(这里假设是升序排序)分析:1. 插入排序的基本思想:将一个节点插入到一个有序的序列中。对于链表而言,要依次从待排序的链表中取出一个节点插入到已经排好序的链表中,也就是说,在单链表插入排序的过程中,原链表会截断成两部分,一部分是原链表中已经...
分类:
其他好文 时间:
2014-06-22 23:26:37
阅读次数:
199
Sort a linked list using insertion sort.单链表的插入排序, 考查的时单链表指针的断开和插入操作#include #include #include using namespace std;struct ListNode{ int val; List...
分类:
其他好文 时间:
2014-06-21 12:26:49
阅读次数:
206
直接插入排序#include typedef int Keytype;typedef struct{ Keytype key; int data;}RecType;void InsertSort(RecType R[],int n){ int i; int j; RecType temp; f...
分类:
其他好文 时间:
2014-06-21 09:52:18
阅读次数:
223
package foo;import java.util.Arrays;public class Main { public static void insertionSort(int[] a, int len) { int in, out; int tem...
分类:
其他好文 时间:
2014-06-21 09:35:44
阅读次数:
147
近日学习了Shell Sort,也就是希尔排序,也称递减增量排序算法。在1959年由DL.Shell提出于1959年提出,由此得名。此版本算法是在插入排序(Insertion Sort)基础上,将数组分成了h份(gap).也就是在数组中每隔h个数取出一个数,为一个子数组。先在子数组上进行排序,然后不...
分类:
其他好文 时间:
2014-06-20 21:11:42
阅读次数:
314
参看:数据结构与算法分析-c语言描述public class Main { public static void main(String[] args) { String[] a = { "a", "d", "e", "f", "m" }; String[] b =...
分类:
编程语言 时间:
2014-06-18 16:08:33
阅读次数:
211
基数排序算法,其原理是将整数按位数切割为不同的数组,然后按每个位数分别进行比较。
基数排序的方法既可以采用LSD(Least significant digital),从键值的最右边开始,也可以采用MSD(Most significant digital),从键值的最左边开始。
基数排序法的效率主要取决于排序不同位的数字时所采用的稳定的中间排序算法。
常用的稳定的排序算法包括:插入排序、合并排序、冒泡排序、折半插入排序、基数排序等。
基数排序算法相比于其他算法...
分类:
其他好文 时间:
2014-06-17 22:55:55
阅读次数:
414
2014.06.17 01:37简介: 插入排序是最常用的O(n^2)级别的交换排序算法。之所以最常用,是因为它和选择排序、冒泡排序相比,有着自己的优势。描述: 如果数组的前i - 1个元素已经排好序,你要将第i个元素插入到其中,使得前i个元素变得有序。为了找到应该插入的位置,我们从后向前扫描,.....
分类:
编程语言 时间:
2014-06-17 21:30:02
阅读次数:
254