当前位置: 首页 > news >正文

深圳营销网站建站公司搜索seo是什么意思

深圳营销网站建站公司,搜索seo是什么意思,湖南做网站 都来磐石网络,深圳营销网站建设公司文章目录 TypeScript 算法手册 - 冒泡排序1. 冒泡排序简介1.1 冒泡排序定义1.2 冒泡排序特点 2. 冒泡排序步骤过程拆解2.1 比较相邻元素2.2 交换元素2.3 重复过程 3. 冒泡排序的优化3.1 提前退出3.2 记录最后交换位置案例代码和动态图 4. 冒泡排序的优点5. 冒泡排序的缺点总结 …

文章目录

  • TypeScript 算法手册 - 冒泡排序
    • 1. 冒泡排序简介
      • 1.1 冒泡排序定义
      • 1.2 冒泡排序特点
    • 2. 冒泡排序步骤过程拆解
      • 2.1 比较相邻元素
      • 2.2 交换元素
      • 2.3 重复过程
    • 3. 冒泡排序的优化
      • 3.1 提前退出
      • 3.2 记录最后交换位置
      • 案例代码和动态图
    • 4. 冒泡排序的优点
    • 5. 冒泡排序的缺点
    • 总结

在这里插入图片描述

【 已更新完 TypeScript 设计模式 专栏,感兴趣可以关注一下,一起学习交流🔥🔥🔥 】

TypeScript 算法手册 - 冒泡排序

1. 冒泡排序简介

1.1 冒泡排序定义

冒泡排序是一种简单的排序算法,重复地遍历要排序的数列,一次比较两个元素,他们的顺序错误就把他们交换过来。这个过程就像水底的气泡一样从底部向上"冒泡"到水面,这也是冒泡排序名字的由来。

用 TypeScript 代码表示一个简单的冒泡排序:

function bubbleSort(arr: number[]): number[] {const len = arr.length;for (let i = 0; i < len - 1; i++) {for (let j = 0; j < len - 1 - i; j++) {if (arr[j] > arr[j + 1]) {[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];}}}return arr;
}

1.2 冒泡排序特点

  1. 简单直观: 冒泡排序是最简单的排序算法之一
  2. 稳定性: 冒泡排序是一种稳定的排序算法
  3. 原地排序: 冒泡排序是原地排序算法,不需要额外的存储空间

2. 冒泡排序步骤过程拆解

2.1 比较相邻元素

// 交换元素
if (arr[j] > arr[j + 1]) {
}

2.2 交换元素

// 交换元素
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];

2.3 重复过程

// 比较和交换
for (let i = 0; i < len - 1; i++) {for (let j = 0; j < len - 1 - i; j++) {}
}

3. 冒泡排序的优化

3.1 提前退出

// 提前退出
function bubbleSortOptimized(arr: number[]): number[] {const len = arr.length;for (let i = 0; i < len - 1; i++) {let swapped = false;for (let j = 0; j < len - 1 - i; j++) {if (arr[j] > arr[j + 1]) {[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];swapped = true;}}if (!swapped) break;}return arr;
}

3.2 记录最后交换位置

// 记录最后交换位置
function bubbleSortFurther(arr: number[]): number[] {let lastExchangeIndex = 0;let sortBorder = arr.length - 1;for (let i = 0; i < arr.length - 1; i++) {let isSorted = true;for (let j = 0; j < sortBorder; j++) {if (arr[j] > arr[j + 1]) {[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];isSorted = false;lastExchangeIndex = j;}}sortBorder = lastExchangeIndex;if (isSorted) break;}return arr;
}

案例代码和动态图

const array = [29, 10, 14, 66, 37, 14];
const sortedArray = bubbleSort(array);
console.log(sortedArray); // [10, 14, 14, 29, 37, 66]

在这里插入图片描述

4. 冒泡排序的优点

  1. 代码简单,容易理解
  2. 稳定排序
  3. 原地排序,不需要额外空间

5. 冒泡排序的缺点

  1. 时间复杂度较高,为 O(n^2)
  2. 交换次数过多

总结

冒泡排序是一种简单直观的排序算法,虽然效率不高,但是在处理小规模数据或者基本有序的数据时还是很有用的。理解冒泡排序的原理对于学习更复杂的排序算法也很有帮助。

喜欢的话就点个赞 ❤️,关注一下吧,有问题也欢迎讨论指教。感谢大家!!!

下期预告: TypeScript 算法手册 - 选择排序

http://www.hengruixuexiao.com/news/10671.html

相关文章:

  • 微信网站开发系统网站改版公司哪家好
  • 技术支持 武汉网站优化域名注册网站哪个好
  • 好的平面设计灵感网站重庆seo整站优化系统
  • 广州市中智软件开发有限公司广州seo效果
  • 怎样做网站视频我想接app注册推广单
  • 网站备案授权书怎么填写凡科网站登录入口
  • 网站的发布与推广方式搜索电影免费观看播放
  • 长沙企业网站制作哪家好广告发布平台
  • 网站建设业务员seo网络排名优化
  • 个性网站模版免费建立网站
  • 学做网站 软件西安seo网站管理
  • 给网站加织梦后台百度权重怎么提高
  • 东莞网络营销培训常用的seo网站优化排名
  • 网站手机版方案谷歌seo建站
  • 绍兴网站建设设计世界企业排名500强
  • 公司网站建设泉州北京正规seo搜索引擎优化价格
  • 做特卖的购物网站关键词排名优化技巧
  • 什么网站可以做调查深圳互联网公司排行榜
  • 做箱包外贸哪个网站好中国外贸订单网
  • 网站过程建设包头整站优化
  • 建设自己的网站怎么做推广app最快的方法
  • 网站文章怎么更新时间网站制作教程
  • 5118站长网站培训体系包括四大体系
  • 哪里做网站比较好商务软文写作300字
  • 西安 网站建设 培训班网络营销师有前途吗
  • 机械毕业设计代做网站推荐seo能干一辈子吗
  • 有做数学题的网站吗关键词搜索
  • 佛山市住房和城乡建设部网站北京seo排名外包
  • 海南网站建设中心北京网站排名推广
  • 未来做啥网站能致富在线优化seo