常用的内部排序方法有:交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、插入排序(直接插入排序、希尔排序)、归并排序、基数排序(一关键字、多关键字)。 一、冒泡排序: 1.基本思想: 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 ...
分类:
编程语言 时间:
2019-03-20 13:01:40
阅读次数:
263
/// /// 插入排序 ///⒈ 从第一个元素开始,该元素可以认为已经被排序 ///⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描 ///⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置 ///⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 ///⒌ ... ...
分类:
编程语言 时间:
2019-03-16 23:35:45
阅读次数:
205
经典排序算法图解: 经典排序算法的复杂度: 大类一(比较排序法): 1、冒泡排序(Bubble Sort) python代码实现: 2、选择排序(Selection Sort) python代码实现: 3、插入排序(Insertion Sort) 直接插入排序-python实现: 折半插入排序-py ...
分类:
编程语言 时间:
2019-03-14 00:40:18
阅读次数:
239
一、直接插入排序 往有序的数组中快速插入一个新的元素。 基本思想:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过为止。 二、希尔排序 希尔排序又称递减增量排序算法。希尔排序是先把待排序的记录序列分割成若干子序列,分别进行直接插入排序,待 ...
分类:
编程语言 时间:
2019-03-08 19:43:18
阅读次数:
216
在DE1-soc软件实验”hello_word"此实验中,我开始并没有将SOC-training image镜像内核文件用win32disk写入sd卡中,直接插入sd卡,发现putty连接com3口是一直处于不能连接状态;后来写入SOC-training image镜像内核文件,在连接时就成功了,那 ...
分类:
其他好文 时间:
2019-03-02 10:33:36
阅读次数:
184
一、原理 ? 希尔排序是直接插入排序的一种更高效的改进版本。它把记录按下标的一定增量进行分组,然后对每组使用直接插入排序;随着增量逐渐减少每组中包含的元素越来越多,也越来越有序,当增量减到为1时,整个序列就是一组,排序结束。 二、代码实现 java package com.jdk8.SortTest ...
分类:
编程语言 时间:
2019-02-27 01:20:01
阅读次数:
156
大家最常用作图标的元素是i标签,为什么呢? 综合来看,从实用性上暂时没看出有什么缺陷,所以目前用不用 <i> 取决于你对于遵循规范有多洁癖。 具体如何在元素内容前后添加图标呢?这就要用使用伪元素:before和after,语法: 1. 直接插入图片 2. 使用特殊字符 2.1 语法 2.2 HTML ...
分类:
其他好文 时间:
2019-02-22 21:40:18
阅读次数:
811
直接插入排序:O(N2) 冒泡排序:O(N2) 希尔排序 O(N2) 设置步长,优化后的插入排序 简单选择排序 O(N2) 快速排序 logN ...
分类:
编程语言 时间:
2019-02-20 13:17:33
阅读次数:
199
链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序) 用到的链表结构如下所示: 一、直接交换结点 1、直接插入排序【时间复杂度:O(n^2),空间复杂度:O(1)】 插入排序的基本思想:将待排序表看作是左、右两部分,其中左边为有序区,右边为无序区;整个排序过程就是将右边无序区中的记录依次按关键字大 ...
分类:
编程语言 时间:
2019-02-20 13:08:36
阅读次数:
183