IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 冒泡排序算法 -> 正文阅读

[数据结构与算法]冒泡排序算法

冒泡排序算法是算法与数据结构中最基础的排序算法。学会这个算法是有必要,在2010年左右的时候,很多时候面试都会冒泡排序算法。那时候IT行业没现在这么卷,大部分都考察一下冒泡排序就OK了。现在去面试不问个leetcode的hard难度的级别题都不过瘾。那现在有必须在学习冒泡排序吗?当然有必要,基础算法必须掌握,体现你的技术热情,对走技术路线是有绝对的帮助的。

冒泡排序就是排队一样,矮的排前面,高的排后面。?

刚开始是乱序的,那就从第一个开始调整,把最高排到后面。排完这个之后,这个位置就被占用。

那再从第一个开始,再找出一个最高的放在倒数第二个位置。

周而复始一直到第一个位置确定好。

发现没有,每个最高的放在最后,然后缩小数组范围,再找出一个高的放在最后。

关键点:?

每次都从第一个开始,写代码的时候要注意。

一趟比较后,最后那个位置放最大的数。

除去最后一个位置,再走一趟比较放到倒数第二位置。与第一趟是?一样的,只是范围变窄了。

冒泡排序是稳定的排序, 时间复杂度是o(n^2)

看一个简单例子:

5, 3, 2, 1 一趟冒泡如何进行

第一次比较 :5,? 3, 2, 1 ;5和3需要调换位置 :? 3,? 5, 2, 1 ;?

第二次比较 :3,??5, 2, 1 ;? 5和2需要调换位置 :? 3, 2, 5, 1 ;?

第三次比较 :3, ?2, 5, 1 ;? 5和1需要调换位置 :? 3, 2, 1, 5 ;?

第一趟排序后,5就到最后的位置。

下面我们一下代码的实现:

def bub_sort(elements):

n = len(elements)

for i in range(n):

#注意在这里一趟排序后,缩小范围了

for j in range(0, n - i - 1):

if elements[j] > elements[j + 1]:

elements[j], elements[j + 1] = elements[j + 1], elements[j]

if __name__ == '__main__':

arr = [5, 2, 3, 1]

bub_sort(arr)

print(arr)

运行后输出结果:

[1, 2, 3, 5]

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:48:40  更:2022-07-17 16:52:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:31:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码