Java排序--插入排序

本文详细介绍了Java中插入排序的算法原理和步骤,包括排序过程中的元素移动及比较次数,并探讨了其时间复杂度。对于已排序或接近排序的数据,插入排序能表现出较好的效率。
摘要由CSDN通过智能技术生成

    内部排序(internal sorting):排序工作在主存中完成。

    外部排序(external sorting):在磁盘或磁带中完成。

    插入排序o(N^2),希尔排序(Sellsort)o(N^2)。

    可以让排序对象实现Comparable接口,通过重写它的CompareTo方法来实现比较。在这些条件下的排序叫做基于比较的排序(comparison-based sorting)。在默认的排序没有或不可接受的情况下,我们很容易用Comparator来重写排序算法。

1.插入排序(insertion sort)

1.1算法

    插入排序由N-1趟排序组成。对于p=1到N-1趟,插入排序保证从位置0到位置p上的元素为已排序状态。插入排序利用了这样的事实:已知位置0到位置p-1上的元素已经处于排过序的状态。下面显示了一个数组样例在每一趟插入排序后的情况。

每趟后的插入顺序:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值