文章目录[x]
- 1: 选择排序
- 2:算法步骤
- 3:算法演示
- 4:排序动画过程解释
选择排序
选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。
算法步骤
- 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
- 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
- 重复第二步,直到所有元素均排序完毕。
来源:https://github.com/hustcc/JS-Sorting-Algorithm
算法演示
排序动画过程解释
- 线性搜索数列并找到最小值,此时找到了为 2
- 将最小值替换为数列中左端的数字,即将 2 与 4 进行交换
- 此时 2 已经排序好
- 继续线性搜索剩余数列找到最小值,此时找到了 3
- 将最小值替换为数列中左端的数字,即将 3 与 4 进行交换
- 此时 2 与 3 已经排序好
- 继续线性搜索剩余数列找到最小值,此时找到了 4
- 如果最小值已经在左端,那么不执行任何操作,所以此时不做任何处理
- 此时 2 、 3 、 4 已经排序好
- 重复相同操作,直到所有数字都被排序
转载自:https://mp.weixin.qq.com/s?__biz=MzUyNjQxNjYyMg==&mid=2247483943&idx=1&sn=5a9a40a9194fdd2eb82820fe4c4e1df3&chksm=fa0e6da6cd79e4b08768133a793077bf3b55e83141fbd10d69e7723bb95722852733945af58e&scene=21#wechat_redirect