继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

康遇
关注TA
已关注
手记 76
粉丝 3
获赞 9

算法 - 搜索排序

排序和搜索是什么?

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

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)

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP