当前位置: 首页 > 最新文章 > 正文

排序插入排序short int 几个字节(int main()什么意思)

对于p=1到N-1趟,插入排序保证从位置0到位置p上的元素为已排序状态。当第p趟时,将位置p上的元素向左移动,直到它在前面的元素之间找到正确的位置,然后将该元素插入该位置。代码如下: void insertionSort{ int j; for{ int temp = a[p]; for a[j] = a[j-1]; a[j] = temp; } }插入排序算法时间复杂度分析:由于嵌套循环的每一个

admin

对于p=1到N-1趟,插入排序保证从位置0到位置p上的元素为已排序状态。当第p趟时,将位置p上的元素向左移动,直到它在前面的元素之间找到正确的位置,然后将该元素插入该位置。代码如下: void insertionSort{ int j; for{ int temp = a[p]; for a[j] = a[j-1]; a[j] = temp; } }插入排序算法时间复杂度分析:由于嵌套循环的每一个都花费N次迭代,因此插入排序时间复杂度为O。另一方面,如果输入数据已预先排序,那么运行时间为O,因为内层for循环的检测总是立即判定不成立而终止。

原文地址:https://dwz.cn/EzZ3YzZt

作者:best.lei

插入排序:最简单的排序算法之一,由N-1趟排序组成。对于p=1到N-1趟,插入排序保证从位置0到位置p上的元素为已排序状态。如下表所示:

最简单的排序算法之一:插入排序

如上表表达了插入排序的一般策略。当第p趟时,将位置p上的元素向左移动,直到它在前面的元素之间找到正确的位置,然后将该元素插入该位置。代码如下:

 void insertionSort(int[] a){ int j; for(int p = 1; p < a.length;p++){ int temp = a[p]; for(j = p; j > 0 && temp < a[j-1];j--) a[j] = a[j-1]; a[j] = temp; } }

插入排序算法时间复杂度分析:由于嵌套循环的每一个都花费N次迭代,因此插入排序时间复杂度为O(N2)。另一方面,如果输入数据已预先排序,那么运行时间为O(N),因为内层for循环的检测总是立即判定不成立而终止。


上一篇: es查看索引mapping(elasticsearch and查询) 下一篇:C语言二维数组详解
返回顶部