为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第27天 数据结构和算法

算法 - 搜索排序

排序和搜索是什么?

  • 排序:把某个乱序的数组升序或者降序
  • 搜索:找出数组中某个元素的下标

JS中的排序和搜索

  • js中的排序:数组的sort方法
  • js种的搜索:数组的indexOf方法

排序算法有哪些

  • 冒泡排序
  • 选择排序
  • 插入排序
  • 归并排序
  • 快速排序
  • 等等…

搜索算法有哪些

  • 顺序搜索
  • 二分搜索
  • 等等…

冒泡排序

思路(升序)

  1. 比较相邻元素,如果第一个比第二个大,则交换他们
  2. 一轮下来保证最后一个是最大的
  3. 执行n-1轮,完成排序
Array.prototype.bubbleSort = function () {
  for (let i = 0; i < this.length - 1; i++) {
    for (let j = 0; j < this.length - 1 - i; j++) {
      if (this[j] > this[j + 1]) {
        const temp = this[j];
        this[j] = this[j + 1];
        this[j + 1] = temp;
      }
    }
  }
}

const arr = [6, 8, 5, 4, 3, 2, 1]
arr.bubbleSort()
console.log(arr)

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消