排序——直接插入排序&&折半插入排序

本文介绍了排序的基本概念,包括稳定排序和不稳定排序的定义。详细讲解了直接插入排序的原理、代码实现及时间复杂度,并探讨了折半插入排序的效率和稳定性。这两种排序算法适用于不同场景,直接插入排序适合小规模或基本有序的数据,而折半插入排序通过减少比较次数提高了效率。
摘要由CSDN通过智能技术生成


前言

  1. 排序的基本概念
  2. 数据结构稳定排序
  3. 数据结构不稳定排序
  4. 排序的种类
  5. 排序的代码
  6. 直接插入排序算法

一、排序的基本概念

1. 排序的定义

  1. 定义:将数据表调整为按关键字从小到大或从大到小的次序排列的过程
  2. 排序的分类:增排序,减排序,内部排序,外部排序
  3. 稳定排序:在排序过程中,如果关键字相同的两个元素的相对次序不变,则称为稳定的排序
  4. 不稳定的排序:当相同的关键字的领先关系在排序过程中不发生变化者,则称所用的排序方法是不稳定的
  5. 算法的稳定性:排序中两个元素相等,排序后位置不发生变化说明算法稳定,主要是对算法性质的描述,不能衡量算法优劣
  6. 内部算法通常进行:比较+移动,基数排序不是基于比较的

2. 排序的分类

1) 稳定排序

插入排序、冒泡排序、归并排序、基数排序


2) 不稳定排序

选择排序、快速排序、希尔排序、堆排序


二、插入排序

基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成,每次插入便又多一个元素排好相对顺序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序打工仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值