选择排序与插入排序及其优化

本文介绍了插入排序、希尔排序和选择排序的原理与特性,包括它们的时间复杂度、空间复杂度和稳定性。通过动图和代码示例帮助理解这些排序算法的实现过程,其中希尔排序是对直接插入排序的优化,而堆排序是一种效率较高的选择排序方式。
摘要由CSDN通过智能技术生成

目录

  • 插入排序
  • 希尔排序
  • 选择排序
  • 堆排序
  • 冒泡排序

一、插入排序

        直接插入排序其基本思想就像我们玩扑克一样,把待排序的数据一个一个的插入到有序的集合中。(图片来自网络)

其动图如下:

直接插入排序的特性总结:

1、元素集合越接近有序,效率越高,时间复杂度为O(N);

2、总的时间复杂度为O(N^2);

3、空间复杂度:O(1);

4、稳定性:稳定(待排元素中间有相同元素,在没有排序之前他们之间有先后顺序,在排序之后他们之间的先后顺序不变,通俗来说:如果a原本在b的前面,并且a==b,排序之后a仍然在b的前面,这样就被称为稳定排序,反之就被称为不稳定);

代码实现如下: 

// 插入排序
void In
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值