插入排序算法(Insertion Sort)_Learning Algorithm

本文详细介绍了插入排序算法的工作原理,通过伪代码展示了升序排列的具体步骤,并提供了算法的代码实现。性能分析指出,当数据正序时,插入排序的时间复杂度为O(N),而数据反序时为O(N^2),因此数据接近正序时算法性能更优。
摘要由CSDN通过智能技术生成

1.算法原理:

(插入排序算法是每次将一个新数据插入到有序队列中的合适位置的一种算法)

接下来我们来看伪代码:
在这里插入图片描述

2.具体思路:

(下面以升序为例)

1.首先假设第1到 j -1 之前的元素为有序的,现需将第 j 个元素插入到合适的位置;

2.因为单独一个元素一定是有序的,所以j从2到整个数组的长度开始外循环;

3.在插入第j个元素的时候,首先将第j个元素(值为key)与第j-1个元素进行比较;

4.若a[j]<a[j-1],则后面的元素是小于前者的,故需要将前一个位置的值替换为key;

5.依次进行移动,直到a[j]>=a[j-1],则为正确的位置也就结束内循环,开始插入下一个位置的元素.直到全部有序;

在这里插入图片描述

3.代码实现:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值