算法06-3 插入排序

插入排序:

工作原理是通过构建有序序列,对于未排序的数据,在已排序的序列中从后往前扫描,找到相应位置并插入。

插入排序在实现上,在从后向前扫描的过错中,需要反复把已排序元素逐渐向后移位,为最新元素提供插入空间。

概括的说:序列将被分成2部分,左边为有序序列,右边为原始序列,从右边的原始序列随机取出一个元素,将其放置有序序列的起始位置(如是空序列)或将 在无序序列当中取出的元素与有序序列的元素进行对比大小,而后进行置换到正确的位置




最优时间复杂度为: O(n)  #以升序为例,也就是不需要操作置换元素的时候

最坏时间复杂度:O(n²) 

稳定性: 稳定

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,215评论 0 52
  • 简单来说,时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间 时间复杂度计算时间复杂度的方法: 用常...
    Teci阅读 1,117评论 0 1
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 5,900评论 0 13
  • 1)这本书为什么值得看: Python语言描述,如果学的Python用这本书学数据结构更合适 2016年出版,内容...
    孙怀阔阅读 12,586评论 0 15
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    zwb_jianshu阅读 1,206评论 0 0