最近看数据结构时看到直接插入排序法,其基本思想是:将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表下面是代码实现与测试 1
#include 2 using namespace std; 3 void InsertSort(int *q,int L) 4 { 5 ...
分类:
其他好文 时间:
2014-05-24 07:07:19
阅读次数:
285
插入排序伪代码:1 for j=2 to a.length2 key=a[j]3 i=j-14
while i>0 and a[i]>key5 a[i+1]=a[i]6 i=i-17 a[i+1]=key使用实例: 1 ...
分类:
其他好文 时间:
2014-05-23 11:20:43
阅读次数:
227
1.写出下列算法的时间复杂度。
(1)冒泡排序;
(2)选择排序;
(3)插入排序;
(4)快速排序;
(5)堆排序;
(6)归并排序;...
分类:
编程语言 时间:
2014-05-22 11:46:43
阅读次数:
321
问题描述
对一个单链表进行插入排序,head指向第一个结点。
代码
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/...
分类:
其他好文 时间:
2014-05-22 10:15:43
阅读次数:
233
一、算法思想描述 1、设置一定的步长 2、将整个序列根绝步长分成若干个子序列。对每个子序列执行直接插入排序 3、重复步骤2,直到步长为1(包含1)二、算法分析 希尔排序,也叫缩小增量排序,是插入排序的一种,他对插入排序进行了一定的优化。 时间复杂度:一般认为,在某些序列中可以达到O(n^1.3) 空间复杂度:O(1) ...
分类:
其他好文 时间:
2014-05-22 08:49:36
阅读次数:
213
defer顾名思义就是延迟执行,那么defer在Golang中该如何使用以及何时使用呢?A"defer"statementinvokesafunctionwhoseexecutionisdeferredtothemomentthesurroundingfunctionreturns,Golang的官方时这么定义的。1.那么在什么情况下会调用defer延迟过的函数呢?从文档中可以知道..
分类:
其他好文 时间:
2014-05-20 23:12:41
阅读次数:
265
自己学了3个星期的GO吧,然后在朋友帮助下开始了一份GOLANG的手游开发的工作,一段时间下来感觉还算不错,今天突发奇想,想再同时多学学erlang,左手GOLANG在手,右手ERLANG在手,天下我有,O(∩_∩)O哈哈~
记录下自己的erlang环境搭建吧。。。。。。 1.当然是去到...
分类:
其他好文 时间:
2014-05-20 10:34:02
阅读次数:
253
JavaScript版排序算法:冒泡排序、快速排序、插入排序、希尔排序(小数据时,希尔排序会比快排快哦) 1
//排序算法 2 window.onload = function(){ 3 var array = [0,1,2,44,4, 4 324,5...
分类:
编程语言 时间:
2014-05-19 12:20:56
阅读次数:
406
能使用STL的sort系列算法的前提是容器的迭代器必须为随机迭代器。所以,vector和deque天然适用。STL的sort算法采用了一些策略,在不同情况下采用不同的排序算法,以达到各种算法优势互补的效果。基本的原则是:数据量大时采用快速排序,数据量小时采用插入排序(这是对快排常用的一种优化策略),递归层次过深改用堆排序。
首先是插入排序。它的平均和最坏时间复杂度都为O(N²),量级小于...
分类:
其他好文 时间:
2014-05-18 14:40:31
阅读次数:
241