js排序算法详解-选择排序
来源:互联网 发布:福建网络服务公司 编辑:程序博客网 时间:2024/05/31 13:14
全栈工程师开发手册 (作者:栾鹏)
js系列教程5-数据结构和算法全解
js排序算法详解-选择排序
相对于冒泡排序还有一种类似的方法就是选择排序,顾名思义就是选择性排序,什么意思呢?
这么来理解,假设在三伏天有一趟室内游泳课,教练说了先在露天场地等着,从你们当中先选取最大个先进去,然后再从剩余的人中选择最大个进去,依次类推。那么小个的就在想了,教练你TMD的脑子是不是被驴踢了。但是如果是冒泡排序那更有意思了,所有的人先排好队再进去,这样还好一点最起码每个人的心理能平衡一点。简单理解选择排序就是从一个未知数据空间,选取数据之最放到一个新的空间。
废话不多说,看例子:
2.1选择排序
function selectionSort(arr) { var len = arr.length; var minIndex, temp; console.time('选择排序耗时'); for (var i = 0; i < len - 1; i++) { minIndex = i; for (var j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { //寻找最小的数 minIndex = j; //将最小数的索引保存 } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } console.timeEnd('选择排序耗时'); return arr;}var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];console.log(selectionSort(arr));//[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50];
经小编测试,选择排序似乎比冒泡排序的自创版还要省时间,其实选择排序适合小数据排序,具体这个小数据有多小呢,简单的测试了一下,在1000条以内的数据,选择排序更胜1.3冒泡排序。
选择排序动图
阅读全文
0 0
- js排序算法详解-选择排序
- js--排序算法--选择排序
- 【算法】选择排序【JS实现】
- 选择排序算法(排序详解)
- java实现冒泡排序,选择排序,插入排序算法详解
- js排序算法详解-冒泡排序
- js排序算法详解-插入排序
- js排序算法详解-希尔排序
- js排序算法详解-归并排序
- js排序算法详解-快速排序
- js排序算法详解-堆排序
- js排序算法详解-计数排序
- js排序算法详解-桶排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法--选择排序
- 排序算法---选择排序
- 排序算法-选择排序
- 常见算法复杂度
- 递归与迭代
- 多类别逻辑回归(Multinomial Logistic Regression)
- 文件操作专题
- UBUNTU上打字练习软件
- js排序算法详解-选择排序
- Codeforces 856C [DP]
- 抽象类和接口
- OPC UA 官网
- webView网页加载
- springMvc请求路径小解
- 常见数列
- 第一篇写给自己
- js排序算法详解-插入排序