zoukankan      html  css  js  c++  java
  • 插入排序的Java代码实现

    插入排序也是一类非常常见的排序方法,它主要包含直接插入排序,Shell排序和折半插入排序等几种常见的排序方法.

    1.直接插入排序

    直接插入排序的思路非常简单:依次将待排序的数据元素按其关键字值的大小插入前面的有序序列.

    细化来说:对于一个有n个元素的数据序列,排序需要进行n-1趟插入操作,如下所示:]

    第1趟插入:将第2个元素插入前面的有序子序列中,此时前面只有一个元素,当然是有序的.

    第2趟插入:将第3个元素插入前面的有序子序列中,前面两个元素是有序的.

    ......

    第n-1趟插入:将第n个元素插入前面的有序子序列中,前面n-1个元素是有序的.

    掌握了上面的排序思路之后,如下程序实现了直接插入排序:

    上代码:

    运行上面的程序,下面显示了直接插入排序的执行过程.

    直接插入排序的时间效率并不高,在最坏的情况下,所有元素的比较次数总和为(0+1+....+n-1)=O(n*n);

    在其他情况下,也要考虑移动元素的次数,故时间复杂度为O(n*n).

    直接插入排序的空间效率很好,它只需要一个缓存数据单元.也就是说,空间效率为O(1).

    直接插入排序是稳定的.

  • 相关阅读:
    找“水王”
    用户体验评价
    学习进度12
    个人冲刺10
    学习进度13
    学习进度11
    个人冲刺9
    myeclipse中js报错
    安卓调用三个系统app(打电话,发短息,打开网页)
    关系图绘制详解
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/7127801.html
Copyright © 2011-2022 走看看