前端之算法(二)选择和插入排序
昨天也就是上一章我们聊了算法,以及比较经典的算法之冒泡排序,今天我们接下来要介绍一下选择排序和插入排序。
选择排序
选择排序
和冒泡排序一样,性能相较下不是很好,但是实现简单。
选择排序的思路
找到数组中的最小值,选中它并将其放置在第一位。
接着找到第二小的值,选中它并将其放置在第二位。
以此类推,执行 N - 1 轮,完成排序。
选择排序的动画
如上动画:
红色就是当前循环中的最小元素。
绿色就是当前循环所在的元素。
黄色就是排序好的元素。
**[选择排序动画](https://visualgo.net/zh/sorting)**
实现
代码如下:
复制代码
选择排序的时间复杂度
两个嵌套循环。
时间复杂度:O(n^2)。
插入排序
插入排序和冒泡排序,选择排序的复杂度是一样的,但是在排序一些小型数组的时候,插入排序是更胜一筹的了。
插入排序的思路
从第二个数开始往前比。
比它大就往后排。
以此类推进行到最后一个数。
插入排序的动画
**[插入排序动画](https://visualgo.net/zh/sorting)**
红色就是拿出来的元素。
绿色就是当前比对的元素。
黄色就是排序好的元素。
实现
复制代码
插入排序的时间复杂度
两个嵌套循环。
时间复杂度:O(n^2)。
End~~
评论