一.排序算法 1.插入排序 1) 直接插入排序:(插入类) 最好情况(顺序有序): 1)比较次数: $\sum_{i=2}^{n} 1=n-1$ 2)移动次数: 0 最坏情况(逆序有序): 1)比较次数: $\sum_{i=2}^{n} i=\frac {(n+2)(n-1)}{2}$ 2)移动次数 ...
分类:
编程语言 时间:
2018-12-27 18:59:21
阅读次数:
273
排序(2):直接插入排序 一、前言 直接插入排序(Insertion Sort)序是一种最简单的插入排序。为简化问题,我们下面只讨论升序排序。 二、算法思想 插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。 动态效果示意图: 以上的过程,其实就是典 ...
分类:
编程语言 时间:
2018-12-25 22:26:25
阅读次数:
289
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。 设数组为a[0…n-1]。 1. 初始时,数组全为无序区为a[0..n-1]。令i=0 2. ...
分类:
编程语言 时间:
2018-12-25 13:14:12
阅读次数:
242
插入排序 1、 直接插入排序 ( ) 在已经排好的队列中插入新的元素 流程: 复杂度: 时间复杂度: 空间复杂度: 代码实现(JAVA) public static void main(String[] args) { int[] arr = new int[]{32, 34, 55, 12, 32 ...
分类:
编程语言 时间:
2018-12-21 18:41:15
阅读次数:
186
为了方便大家查找和学习,现将本人博客中所有博客文章列出目录。 一. 白话经典算法 目前有17篇,分为七大排序和经典面试题讲解两大类 1. 《白话经典算法系列之一 冒泡排序的三种实现》 2. 《白话经典算法系列之二 直接插入排序的三种实现》 3. 《白话经典算法系列之三 希尔排序的实现》 4. 《白话 ...
各种基本算法实现小结(五)—— 排序算法 (均已测试通过) * 选择排序 |____简单选择排序 |____堆排序 |____归并排序* 交换排序 |____冒泡排序 |____快速排序* 插入排序 |____直接插入排序 |____折半排序 |____希尔排序* 分配排序 |____箱排序 |__ ...
分类:
编程语言 时间:
2018-12-19 15:55:24
阅读次数:
224
直接插入排序: 基本思想: 把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素;排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的有序表,重复n-1次完成整个排序过程。 实例: 0.初始状态 3,1,5,7,2,4,9,6(共8个数 ...
分类:
编程语言 时间:
2018-12-16 17:10:25
阅读次数:
189
``` import java.util.ArrayList; import java.util.List; / 排序算法主类 @author eric / class SortArray { / 【插入排序】 基本思想: 在要排序的一组数中,假设前面(n 1) [n =2] 个数已经是排好顺序的, ...
分类:
编程语言 时间:
2018-12-14 10:21:50
阅读次数:
293
!--embed:可以直接插入音频视频,本质是通过本机安装的音频视频播放软件来播放的。要求必须已经安装了这些软件 兼容性--><!--flash: 1.先学习flash,增加使用成本 2.iphone,ipd,不支持flash--><!--audio:音频--><!--src:播放文件的路径cont ...
分类:
其他好文 时间:
2018-12-13 22:15:20
阅读次数:
243
输入待排序序列:49 38 65 97 13 27 49(以输入一个字符作为结束) 1) 直接插入排序运行结果(写出每一趟的状态): 2)堆排序运行结果(写出每一趟的状态): ...
分类:
其他好文 时间:
2018-12-11 21:55:02
阅读次数:
378