【软考】算法-插入
来源:互联网 发布:淘宝图片一般像素多少 编辑:程序博客网 时间:2024/05/29 18:48
插入排序
前面都是有序列
从左上角到右下角(一条红线的部分都是最大的)
无序的数和有序的数比较,从最后一个往前比
插入是固定元素找位置,而选择是固定位置找元素
插入算法核心代码:
var length = arr.Length; for (int i = 1; i < length; i++) //每一趟比较几个数 { for (int j = i; j > 0;j--) //每一趟都会把i个数排成有序区 { if (arr[j] < arr[j - 1]) //2个数中找到最小的,交换 { temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } }
又回到了那个最简单的例子:2个数里找最大/小的怎么找?引入第三变量!
所以插入排序的时间复杂度是:
空间复杂度是指需要用多少个辅助变量,插入算法用了一个临时变量来交换位置,所以空间复杂度是0(1)
3 1
- 【软考】算法-插入
- 软考二进宫-排序算法-直接插入、直接选择
- 【软考】插入排序
- 软考(2)--算法
- 软考之算法
- 软考-分治算法
- 【软考】算法-冒泡
- 【软考】算法-选择
- 软考之排序算法(一)——插入排序
- 【软考】有趣的算法
- 软考之路--算法
- 【软考7】算法基础知识
- 【软考】-算法- 快速排序
- 【三】软考—算法
- 软考-数据结构与算法
- 软考(1)--数据结构与算法基础
- 软考 (三) 查找算法
- 软考复习——算法
- AS Android开发 错误集锦
- 如何查看Android系统的版本是User模式还是Eng模式
- 机器学习基本算法(逻辑回归)
- String、StringBuffer和StringBuilder的区别
- Android介绍
- 【软考】算法-插入
- 选择文件后自动上传
- 数据持久化
- leetcode题解c++ | 10. Regular Expression Matching
- 维度建模的基本概念及过程
- 手写代码算法题和智力题
- Android应用开发入门经典学习笔记01--理解Android Activity
- Java中hashCode的作用
- Linux下检查是否安装过某软件包