排序是经常使用的编程例子,在Javascript里各种排序的性能又如何呢?每个浏览器测试得出的数据会不一样。比如我用chrome 测试 一般快速排序都会最快,IE 则根据数组长度有可能希尔最快。
不要用太大数据去测试冒泡排序(浏览器崩溃了我不管)。
测试数组长度:
测试次数:10次
数组太长请慎用 冒泡排序
测试次数:10次
数组太长请慎用 冒泡排序
算法 | 数组长度 | 分别用时(毫秒) | 平均(毫秒) | 点击测试 |
---|---|---|---|---|
快速排序 | ||||
插入排序 | ||||
希尔排序 | ||||
系统方法 | ||||
冒泡排序 |
个人理解:
- 冒泡排序:最简单,也最慢,貌似长度小于7最优
- 插入排序: 比冒泡快,比快速排序和希尔排序慢,较小数据有优势
- 快速排序:这是一个非常快的排序方式,V8的sort方法就使用快速排序和插入排序的结合
- 希尔排序:在非chrome下数组长度小于1000,希尔排序比快速更快
- 系统方法:在forfox下系统的这个方法非常快
Javascript Code
本文地址:http://www.nowamagic.net/librarys/veda/detail/980,欢迎访问原出处。