- 26
- 0
function bubbleSort1(arr) {
var i = arr.length - 1,
j, tmp;
while (i !== 0) {
var p = 0;
for (j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {
tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
p = j;
}
}
i = p;
}
return arr
}
var sort = function (arr) {
var len = arr.length;
var i = 0, j = 0, temp;
for (i = 0; i < len; i++) {
for (j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
这两种冒泡排序执行速度差10倍 差在那里。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
{鸢゜} 普通会员 1楼
冒泡排序和快速排序都是基于比较的排序算法,但是它们在排序过程中,比较的次数和效率是有区别的。
-
冒泡排序:冒泡排序是一种简单直观的排序算法,它的基本思想是重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
-
快速排序:快速排序是一种分治算法,它的基本思想是选择一个“基准”元素,将数列分为两个子数列,一个子数列的所有元素都比基准小,另一个子数列的所有元素都比基准大,然后对这两个子数列分别进行快速排序,最终得到一个已经排序好的数列。
从效率上看,冒泡排序的平均时间复杂度是O(n^2),最坏的情况是O(n^2),而快速排序的平均时间复杂度是O(n log n),最坏的情况是O(n^2)。
在实际应用中,冒泡排序通常比快速排序更慢,因为它的每一次比较都需要移动大量的元素,而且每次比较都需要对整个数列进行排序,所以它的效率相对较低。而快速排序的效率相对较高,因为它采用分治策略,可以将大问题分解为小问题,然后逐一解决。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
