算法导论-插入排序
- 2019 年 10 月 4 日
- 笔记
最近重新翻开算法导论宝典,打算重新温习一下,顺便记录下自己的点滴。导论中都是用的伪代码进行描述,我们这里直接用java代码进行
导论第一章是描述一些算法的作用,我们这里直接忽略,下面就直接进入算法部分
第二章第一节插入排序
插入排序又是增量排序
算法如下:
//另一种插入算法 public void sortArrs(){ int len = arrs.length; int temp = 0; int n = 0; //进行len-1次循环,每次循环都将下标为i的元素插入到它前面已经排好序的队列中 for(int j=1;j<len;j++) { if (arrs[j] < arrs[j - 1]) { temp = arrs[j]; int i = j - 1; n++; while (i > 0 && arrs[i] > temp) { arrs[i + 1] = arrs[i]; i--; n++; } arrs[i + 1] = temp; } } }
算法复杂度:n^2