JavaScript进阶:几个排序算法
来源:互联网 发布:mysql怎么查看表空间 编辑:程序博客网 时间:2024/05/22 17:46
前言
平均时间复杂度:O(n2)。
2、选择排序(Selection Sort)
平均复杂度:n(O2)
选择排序的思想是:遍历所有数,当遍历到某一个数n时,选择出这个数以及排在它后面的数之中最小的那一个(假设它为m),用这个查找出来的最小值m,替换这一个数n。
3、插入排序(Insertion Sort)
平均复杂度:O(n2)
为了便于对排序算法的理解,在本文写下三个排序算法的基本思想,在以后会继续补充。
算法
1、冒泡排序(Bubble Sort)平均时间复杂度:O(n2)。
var myarr=new Array(5,4,3,2,1);function bubbleSort(arr){ var temp; 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]){ temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } alert(arr);}sort(myarr);
2、选择排序(Selection Sort)
平均复杂度:n(O2)
选择排序的思想是:遍历所有数,当遍历到某一个数n时,选择出这个数以及排在它后面的数之中最小的那一个(假设它为m),用这个查找出来的最小值m,替换这一个数n。
var myarr=new Array(5,4,3,2,1);function selectSort(arr){ var min; //最小值的索引 var temp; var len=arr.length; for(var i=0;i<len-1;i++){ min=i; for(var j=i+1;j<len;j++) { if(arr[j]<arr[min]) min=j; } temp=arr[i]; arr[i]=arr[min]; arr[min]=temp; } alert(arr);}selectSort(myarr);
3、插入排序(Insertion Sort)
平均复杂度:O(n2)
var myarr=new Array(5,4,3,2,1);function insertionSort(arr){ var pre; var current; var len=arr.length; for(var i=1;i<len;i++){ current=arr[i]; pre=i-1; while(pre>=0&&arr[pre]>current){ arr[pre+1]=arr[pre]; pre--; } arr[pre+1]=current; } alert(arr);}insertionSort(myarr);
阅读全文
0 0
- JavaScript进阶:几个排序算法
- 用JavaScript写几个排序算法
- JavaScript对几个排序算法的实现
- 进阶级排序算法
- 进阶排序算法
- 几个排序算法源码
- 几个排序算法
- 几个C#排序算法
- 几个排序算法
- 几个简单排序算法
- 几个排序算法源码
- 几个高速排序算法
- 整理几个排序算法
- 几个排序算法
- JavaScript算法-排序算法
- JavaScript算法-排序算法
- 算法进阶之快速排序
- 几个经典的排序算法
- HDU
- 畅通工程
- 杭电acm—2114 Calculate S(n)
- mybatis在使用integer类型
- Map
- JavaScript进阶:几个排序算法
- Servlet--Cookie基础
- POJ2891 Strange Way to Express Integers(解多元线性同余方程)(中国剩余定理非互质版)(例题)
- JDBC基础学习总结
- 还是畅通工程(最小生成树&&并查集)
- 成员变量、类变量(静态变量)、局部变量的区别
- 【JavaScript】页面加载 解决Uncaught TypeError: Cannot set property of undefined at
- 无旋treap:从好奇到入门(例题:bzoj3224 普通平衡树)
- 今天课上所听的9种排序!