排序--直接插入排序算法
2017-02-27 11:02
211 查看
排序分析
待排数组:arr[9]={9,3,4,1,7,5,8,6,2}
排后数组:newArr[9]=?
第一轮:从arr取出第一个元素放入newArr中,arr减去该元素。
结果:arr={3,4,1,7,5,8,6,2} 、newArr={9}
第二轮:从arr取出第一个元素依次与newArr中元素对比,插入到正确的位置上,arr减去该元素。
结果:arr={4,1,7,5,8,6,2} 、newArr={3,9}
第三轮:同上
结果:arr={1,7,5,8,6,2} 、newArr={3,4,9}
.............................................................
.............................................................
.............................................................
第九轮:同上
结果:arr={} 、newArr={1,2,3,4,5,6,7,8,9}
时间复杂度
O(N2)
待排数组:arr[9]={9,3,4,1,7,5,8,6,2}
排后数组:newArr[9]=?
第一轮:从arr取出第一个元素放入newArr中,arr减去该元素。
结果:arr={3,4,1,7,5,8,6,2} 、newArr={9}
第二轮:从arr取出第一个元素依次与newArr中元素对比,插入到正确的位置上,arr减去该元素。
结果:arr={4,1,7,5,8,6,2} 、newArr={3,9}
第三轮:同上
结果:arr={1,7,5,8,6,2} 、newArr={3,4,9}
.............................................................
.............................................................
.............................................................
第九轮:同上
结果:arr={} 、newArr={1,2,3,4,5,6,7,8,9}
时间复杂度
O(N2)
相关文章推荐
- scala 排序算法 直接插入排序
- 排序算法之直接插入排序
- 排序算法—插入排序之直接插入排序
- 常用的排序算法:冒泡,简单选择,直接插入,快速排序,堆排序
- 【数据结构】排序算法(一)之直接插入排序,冒泡排序
- 排序算法: 冒泡排序, 快速排序,希尔排序,直接插入排序 ,直接选择排序,归并排序,堆排序
- 排序算法--直接插入排序、折半插入排序、希尔排序
- 排序算法----直接插入排序
- 排序算法之直接插入排序
- 排序算法--直接插入排序
- 排序算法(快速排序、直接插入排序、直接选择、冒泡排序)
- [排序算法]--直接插入排序的三种实现(Java)
- 排序算法--直接插入排序
- 数据结构6-排序算法(直接插入排序、希尔排序、快速排序、归并排序和堆排序)
- 数据结构 查找及排序算法、直接插入排序及顺序查找(c语言实现)
- Java排序算法——直接插入排序
- 排序算法实例(冒泡法排序、选择法排序、直接插入排序 、希尔法排序、折半插入排序)
- 排序算法之直接插入排序
- 【C】排序算法之——插入排序(直接插入排序)
- 程序员必须掌握的8大排序算法(一):直接插入排序