一张图概括:
名词解释:

n:数据范围
k:“桶”的个数
In-place:占用常数内存,不占用额外内存
Out-place:占用额外内存
冒泡排序
作为最简单的排序算法之一,冒泡排序给我的感到就像Abandon在单词书里出现的感到一样,每次都在第一页第一位,所以最熟悉。。。冒泡排序还有一种优化算法,就是立一个flag,当在一趟序列遍历中元素没有产生交换,则证实该序列已经有序。但这种改进对于晋升机能来说并没有什么太大年夜感化。。。
什么时刻最快
当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊。。。。)
什么时刻最慢
当输入的数据是反序时(写一个for轮回反序输出数据不就行了,干嘛要用你冒泡排序呢,我是闲的吗。。。)

JavaScript代码实现
- function bubbleSort(arr) {
- var len = arr.length;
- for (var i = 0; i < len; i++) {
- for (var j = 0; j < len - 1 - i; j++) {
- if (arr[j] > arr[j+1]) { //相邻元素两两比较
- var temp = arr[j+1]; //元故旧换
- arr[j+1] = arr[j];
- arr[j] = temp;
- }
- }
- }
- return arr;
- }
选择排序
表示最稳定的排序算法之一,因为无论什么数据进去都是O(n²)的时光复杂度。。。所以用到它的时刻,数据范围越小越好。独一的好处可能就是不占用额外的内存空间了吧。
选择排序动图演示

JavaScript代码实现
- function selectionSort(arr) {
- var len = arr.length;
- var minIndex, temp;
- 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; //将最小数的索引保存
推荐阅读
对于这种的办法:大年夜网页点击下载时要看看下载的文件名,绿色版的软件一般是目标软件的拼音或者英订婚名,多半是紧缩包(就算是安装版也要打包一下的),所以如不雅下载文件名是无序字符串,以及是exe文件,十有八九>>>详细阅读
本文标题:JavaScript中常见排序算法详解
地址:http://www.17bianji.com/lsqh/39153.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示