一、列表排序 排序就是将一组“无序”的记录序列调整为“有序”的记录序列。 列表排序:将无序列表变为有序列表。 输入:列表 输出:有序列表 两种基本的排序方式:升序和降序。 python内置的排序函数:sort()。 二、常见排序算法 名称 复杂度 说明 备注 冒泡排序Bubble Sort O(N* ...
分类:
编程语言 时间:
2018-09-13 01:15:52
阅读次数:
193
欢迎Star,本文的所有示例源码都在Github:https://github.com/AndroidHensen/Arithmetic 本篇内容包含 排序的介绍 排序的C的实现 排序的Java的实现 排序的时间复杂度的计算 1、基本思想: 两个数比较大小,较大的数下沉,较小的数冒起来 2、实现步骤 ...
分类:
编程语言 时间:
2018-09-11 13:59:30
阅读次数:
144
读数据结构与算法分析 插入排序 核心:利用的是从位置0到位置P都是已排序的 所以从位置1开始排序,如果当前位置不对,则和前面元素反复交换重新排序 实现 希尔排序 使用hk增量序列进行一趟排序后,对每个i都有 重要性质:一个hk排序的文件在之后的排序中将保持hk排序性 实现 ht = [N / 2] ...
分类:
编程语言 时间:
2018-09-08 16:00:38
阅读次数:
195
小朋友学数据结构(9):希尔排序 (一)基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 (二)例子 有一个数组,其原始数组为: 2-1.png 取初始增量gap = len ...
分类:
编程语言 时间:
2018-09-08 00:48:01
阅读次数:
211
一些说明 我将会写一系列关于算法的博客,因为我是程序员,并不是计算机科学家,也即我是搞工程的,并不是搞学术的,所以对于我来说,最重要的就是 1.有哪些算法 2.这些算法的原理 3.这些算法的实现 4.这些算法的效率 而其他的,相对而言,并没有那么重要,比如算法的证明,所以以后的博客都会按照上述的思维 ...
分类:
编程语言 时间:
2018-09-07 14:11:42
阅读次数:
156
1、二叉树 1.1、非递归遍历 1.1.1、前序 1.1.2、中序 1.1.3、后序 1.1.4、层次 2、排序 2.1、快排 2.2、希尔 2.3、归并 3、栈 3.1、括号匹配 ...
分类:
其他好文 时间:
2018-08-28 23:57:05
阅读次数:
319
图片镇楼 插入排序(InsertSort) 步骤: 1.依次选择一个待排序的记录, 2.依次与已经排好序的有序序列比较,并插入 3.持续每次对越来越少的元素重复上面的步骤,直到插完所有元素为。 改进: 二分插入排序,直接和有序序列的中间比较。 希尔排序。 希尔排序(又叫缩小增量排序,ShellSor ...
分类:
编程语言 时间:
2018-08-27 18:36:09
阅读次数:
144
一、什么是希尔排序 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”,是直接插入排序算法的一种更高效的改进版本。 思路: 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算 ...
分类:
编程语言 时间:
2018-08-27 14:15:34
阅读次数:
131
1、选择排序 2、冒泡排序 3、插入排序 4、希尔排序 5、快速排序 ...
分类:
编程语言 时间:
2018-08-26 18:18:04
阅读次数:
173