原题地址:http://oj.leetcode.com/problems/insertion-sort-list/题意:对链表进行插入排序。解题思路:首先来对插入排序有一个直观的认识,来自维基百科。
代码循环部分图示:代码:class Solution:# @p...
分类:
编程语言 时间:
2014-07-22 23:11:32
阅读次数:
411
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作...
分类:
编程语言 时间:
2014-05-01 22:02:12
阅读次数:
360
插入排序: 1 class Class1 2 { 3
/*先将第一个记录视为一个有序序列,然后依次将后面的记录插入到这个有序序列中来。 4 *
每次要插入的记录时,须从后往前依次比较有序序列中的记录,直到找到在有序序列中的位置, 5 * ...
分类:
其他好文 时间:
2014-04-30 05:17:16
阅读次数:
461
在上一篇排序算法的文章中介绍了插入排序,分别为直接插入排序和希尔排序。今天我们继续来介绍其他的排序算法。
1、选择排序:简单选择排序
2、选择排序:堆排序...
分类:
其他好文 时间:
2014-04-29 13:36:20
阅读次数:
340
希尔排序
希尔排序,有时称为递减增量排序,是在插入排序基础上,把列表拆成几个较小的子表,然后对每个子表使用插入排序的方法。选出子表的方法是希尔排序的关键,它并不是把列表的中相近的元素取出来组成子表,而是使用了一个增量值I,有时也叫做“间隙”,然后每隔一个间隙选中一个元素来组成子表。
这可以从图6中看出来,列表中有9个元素,如果我们使用增量3,就有3个子表,每个子表单独做插入排序。完成之后的...
分类:
编程语言 时间:
2014-04-29 13:15:20
阅读次数:
353
【插入排序】
数组前k-1个元素已经有序,如何确定第k个元素的插入位置,使得这k个元素有序。
方法1:从左到右扫描扫描这个有序子数组,直到遇到第一个大于等于A[k]的元素,然后把A[k]插在这个元素的前面。
方法2:从右到左扫描这个有序子数组,直到遇到第一个小于等于A[k]的元素,然后把A[k]插在这个元素的后面。
【希尔排序】
先将数组分组,分别对每组进行插入排序,依次减少分组数进行插...
分类:
其他好文 时间:
2014-04-27 22:46:19
阅读次数:
267
再过段时间就要邀请赛了。下去开始写周总结。就研究的东西来看,这一周主要研究了研究了线段树和树状数组,并写了几篇博客,博客链接:http://www.cnblogs.com/fightingboy/p/3686188.html或 http://blog.csdn.net/asdfghjkl1993/article/details/24499001
用简单的几句话概括它们,线段树和树状数组都是...
分类:
其他好文 时间:
2014-04-27 22:17:19
阅读次数:
268