码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【21天打卡】前端攻城狮重学算法之-冒泡排序


     活动地址:CSDN21天学习挑战赛 算法专区

    目标既定,在学习和实践过程中无论遇到什么困难、曲折都不灰心丧气,不轻易改变自己决定的目标,而努力不懈地去学习和奋斗,如此才会有所成就,而达到自己的目的。(作者:李清照)
    …

    作为一名前端攻城狮,为了成为更好的自己,我参加了这次21天算法打卡。

    这是第9天,2022年08月21日,星期日。今天也要加油!

    最近工作忙,工作日期间没有时间研究算法了,只能周末抓紧学习了。

    **

    创作计划

    【21天打卡】前端攻城狮重学算法之--十大排序算法比较

    【21天打卡】前端攻城狮重学算法之-顺序查找

    【21天打卡】前端攻城狮重学算法之-直接插入排序

    【21天打卡】前端攻城狮重学算法之-直接选择排序

    【21天打卡】前端攻城狮重学算法之-折半查找

    【21天打卡】前端攻城狮重学算法-折半插入排序

    【21天打卡】前端攻城狮重学算法之-快速排序

    【21天打卡】前端攻城狮重学算法之-希尔排序

    学习计划

    **
    1,学习目标

    今天掌握学习冒泡排序

    2,学习内容

    一文学懂经典算法系列之:冒泡排序

    3,学习时间

    第9天,2022.08.21 19:00-21:00

    4,学习产出

    CSDN技术博客 1 篇

    **

    学习日记

    **
    1,学习知识点

    冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。

    冒泡排序的原理:
    每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数归位,第二趟只能将倒数第 2 位上的数归位,依次类推下去。如果有 n 个数进行排序,只需将 n-1 个数归位,也就是要进行 n-1 趟操作。

    而 “每一趟 ” 都需要从第一位开始进行相邻的两个数的比较,将较大的数放后面,比较完毕之后向后挪一位继续比较下面两个相邻的两个数大小关系,重复此步骤,直到最后一个还没归位的数。

    2,学习遇到的问题

    冒泡排序是一种用时间换空间的排序方法,最坏情况是把顺序的排列变成逆序,或者把逆序的数列变成顺序。在这种情况下,每一次比较都需要进行交换运算。

    3,学习的收获

    通过观察下列排序过程,可以发现,两个大小相同的元素在排序过程中会相互靠近,一旦这两个大小相同的元素在排序过程中处于相邻位置,那么后续的排序操作就不会对该元素进行任何相对位置的改变。所以冒泡排序是稳定的。

    时间复杂度O(n^2)

    空间复杂度O(1)

    4,实操

    输入数据(input):11,34,20,10,12,35,41,32,43,14

    javascirpt源码:

    1. function bubbleSort(arr) {
    2. var len = arr.length;
    3. for (var i = 0; i < len - 1; i++) {
    4. for (var j = 0; j < len - 1 - i; j++) {
    5. if (arr[j] > arr[j+1]) { // 相邻元素两两对比
    6. var temp = arr[j+1]; // 元素交换
    7. arr[j+1] = arr[j];
    8. arr[j] = temp;
    9. }
    10. }
    11. }
    12. return arr;
    13. }
    14. console.log(bubbleSort([11,34,20,10,12,35,41,32,43,14])); //[10, 11, 12, 14, 20, 32, 34, 35, 41, 43]

    输出数据:[10, 11, 12, 14, 20, 32, 34, 35, 41, 43]

    …

    今天就学习到这里,下次再见!~

  • 相关阅读:
    【RocketMQ】消息的拉取
    react自定义hook解决websocket连接,useWebSocket
    C#switch…case…判断
    倍福PLC旋切基本原理和应用例程
    智能座舱行为识别数据解决方案,助力打造第三空间新体验
    力扣122. 买卖股票的最佳时机 II
    基于架构软件设计方法及应用
    SSM - Springboot - MyBatis-Plus 全栈体系(三十)
    C# 设计模式 结构型模式 之 适配器模式
    前后端分离的低代码快速开发框架
  • 原文地址:https://blog.csdn.net/happy921212/article/details/126454105
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号