几种常见的排序算法(js)

本文详述了前端面试中常见的五种排序算法:冒泡排序、选择排序、插入排序、快速排序以及二分搜索。每种算法都附带了基本思想、时间复杂度分析及JavaScript实现代码,帮助读者深入理解这些经典算法。
摘要由CSDN通过智能技术生成

几种常见的算法:

前端面视常问的几种排序算法:冒泡,选择,插入,快排,二分搜索;除此之外还有归并排序,堆排序等,本文主要对前五种常见的排序算法进行详解。

1.冒泡排序

最简单的一种排序算法。假设长度为n的数组arr,要按照从小到大排序。则冒泡排序的逻辑为:对数组进行遍历将最大的元素冒泡到最后,然后对剩下的n-1个数再次进行冒泡,一直循环下去直到所有数冒泡结束。
冒泡排序两层循环,时间复杂度为O(n^2)
代码如下:

function Bubble(nums){
   
  for(let i=0;i<nums.length;i++){
   
    for(let j=0;j<nums.length-1-i;j++){
   
      if(nums[j]>nums[j+1]){
   
        var temp = nums[j]
        nums[j] = nums[j+1]
        nums[j+1] = temp
      }
    }
  }
}

2.选择排序

假设长度为n的数组arr,要按照从小到大排序。对选择排序的基本思想描述为:从数组中选择最大的数与最后一位做交换,然后对剩下的n-1个数进行选择和交换,一直重复选择和交换,直到所有数字交换结束。
选择排序两层循环,时间复杂度为O(n^2)
代码如下:

function selectSort(arr) {
   
    if (arr.length < 2) return arr;
    for (let i = arr.length -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值