欢迎光临
我的个人博客网站

js常见排序算法实现


1.冒泡排序

原理:对数组进行遍历,根据相邻两个元素大小进行交换,每一次遍历都将最小值推至最前方,然后对剩下的值再次进行比较

空间复杂度:O(1)

时间复杂度:O(n^2)

稳定性:稳定

// 冒泡排序 function bubbleSort(arr) {     let len = arr.length - 1, tmp     for (let i = 0; i < len; i++) {         for (let j = 0; j < len - i; j++) {             if (arr[j] > arr[j + 1]) {                 tmp = arr[j]                 arr[j] = arr[j + 1]                 arr[j + 1] = tmp             }         }     }     return arr }

2.快速排序

原理:从数组中取一个基准值,将剩下的值与基准值比较,小于的放到左边,大于的放到右边,并对左右两边进行快速排序,重复直到左右两边只剩一个元素,最后合并

平均时间复杂度O(nlogn)

最坏时间复杂度:O(n^2)

稳定性:不稳定

 

赞(0) 打赏
未经允许不得转载:张拓的天空 » js常见排序算法实现
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏