插入排序
2016-07-19 11:26
260 查看
1 . 插入排序
插入排序的原理:
插入排序就是将后面的数据插入到前面排序好的数据中。依次从后向前遍历已经排好序的数组,如果大于该数据就后移它。直到找到小于该数据的数,将数据插入其后面。
代码如下:
public void insertSort(int[] array) {
for (int i = 1; i < array.length; i++) {
int temp = array[i];
int j = i - 1;
for (; j >= 0 && temp < array[j]; j--) {
if (temp < array[j]) {
array[j + 1] = array[j];
}
}
array[j + 1] = temp;
}
}
平均复杂度:O(n^2)
最好情况是:该序列本身就是有序的 则时间复杂度是O(n-1)
最坏情况是:该序列原来是逆序的 则时间复杂度是O(n*(n-1)/2)
插入排序的原理:
插入排序就是将后面的数据插入到前面排序好的数据中。依次从后向前遍历已经排好序的数组,如果大于该数据就后移它。直到找到小于该数据的数,将数据插入其后面。
代码如下:
public void insertSort(int[] array) {
for (int i = 1; i < array.length; i++) {
int temp = array[i];
int j = i - 1;
for (; j >= 0 && temp < array[j]; j--) {
if (temp < array[j]) {
array[j + 1] = array[j];
}
}
array[j + 1] = temp;
}
}
平均复杂度:O(n^2)
最好情况是:该序列本身就是有序的 则时间复杂度是O(n-1)
最坏情况是:该序列原来是逆序的 则时间复杂度是O(n*(n-1)/2)
相关文章推荐
- 插入排序
- php实现插入排序
- Java数据结构及算法实例:插入排序 Insertion Sort
- javascript数据结构之双链表插入排序实例详解
- c++几种基本的插入排序(图文)
- C 语言插入排序算法及实例代码
- Java排序算法总结之插入排序
- JAVA算法起步之插入排序实例
- 详解直接插入排序算法与相关的Java版代码实现
- java数组排序示例(冒泡排序、快速排序、希尔排序、选择排序)
- python插入排序算法的实现代码
- Python中使用插入排序算法的简单分析与代码示例
- js算法: inserting sort 插入排序
- Python中使用插入排序算法的简单分析与代码示例
- 插入排序
- 数据结构与算法学习-简单排序算法之插入排序
- 插入排序
- 插入排序
- 排序算法 java版本
- 插入排序