插入排序 1.直接插入排序 默认 L(1) 有序,将 L(2) ~ L(n)依次插入到前面已经排好序的子序列中。 空间效率:O(1) ,就地排序 时间效率:比较和移动。最好情况下,有序,只需要比较不需要移动,只要 O(n)。 平均是 O (n2) 稳定性:稳定。 适用性:均可。 2.折半插入排序 主 ...
分类:
编程语言 时间:
2020-04-26 18:37:56
阅读次数:
60
插入排序 插入排序介绍: 插入排序法思想: 插入排序思路图: 代码演示: 运行结果: ...
分类:
编程语言 时间:
2020-04-25 20:52:27
阅读次数:
84
介绍 直接插入排序算法是一种简单,直观且稳定的排序算法。直接插入排序的基本思路是将一个元素插入到已经排好序的序列中,从而得到一个新的有序序列。 原理 直接插入排序的原理就好比抓扑克牌一样,我们每新抓到一张扑克后,会扫描已经有序的扑克牌,以升序为例,从大到小扫描扑克牌,当出现扑克小于当前的新扑克时,将 ...
分类:
编程语言 时间:
2020-04-22 22:51:19
阅读次数:
78
其实就是普通的插排,没想到中间还是因为尾节点的next指针没处理导致死循环,题目直接看链接,这里只是记录一下思路和代码。 解题思路: 需要注意的点: 1、增加一个极小值的头节点方便后面代码的撰写。 2、记录尾节点进行判断,减少总体循环的次数。 3、记得取出要判断的点时,尾节点的next要指向next ...
分类:
编程语言 时间:
2020-04-22 13:18:25
阅读次数:
66
算法描述:插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 动画演示: 一般来说,插入排序都采用in-place在数组上实现。具体算法流程如下: 1.从第一个元素开始,该元素可 ...
分类:
编程语言 时间:
2020-04-21 23:51:29
阅读次数:
59
1交换排序 1.1交换排序 冒泡排序(从前向后冒泡) 1.2交换排序 选择排序(选择排序第i个位置的元素跟后面的其他元素比较,找到比第i个元素小且最小的元素,与它进行交换) 2插入排序 2.1直接插入排序(带有标志位的) 2.2直接插入排序(不带有标志位) 2.3希尔排序 2.4归并排序 "参考博文 ...
分类:
编程语言 时间:
2020-04-21 13:22:09
阅读次数:
68
插入排序 直接插入排序,折半插入排序,2-路插入排序,希尔排序 快速排序 冒泡排序,快速排序(冒泡排序改进), 选择排序 简单选择排序,树形选择排序,堆排序 归并排序 基数排序 ...
分类:
编程语言 时间:
2020-04-20 13:41:41
阅读次数:
63
[TOC] 一、视频讲解插入排序 "点击这里去B站观看视频~~" 二、插入排序的思想 把n个待排序的元素看成是一个 有序表 和一个 无序表 第一轮 排序时, 有序表 中 只含一个元素 , 无序表 中包含 n 1个元素 排序过程中, 每次从无序表 中 取出第一个 元素,去 和有序表 中的 每个元素 进 ...
分类:
编程语言 时间:
2020-04-19 10:46:54
阅读次数:
62
插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 1 def insert_sor ...
分类:
编程语言 时间:
2020-04-18 18:58:39
阅读次数:
66
简述 插入排序是一种简单直观的排序方法,其基本思想在于每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。插入排序主要有三个算法:直接插入排序、折半插入排序和希尔排序。 直接插入排序 算法思想 直接插入排序的简单思想就是不断地将一个元素插入到一个有序的序列中, ...
分类:
编程语言 时间:
2020-04-16 19:17:00
阅读次数:
68