Python冒泡排序的实现

news2024/12/23 7:43:09

时间复杂度:

最坏时间复杂度O(n^2)
最优时间复杂度O(n):表遍历一次发现没有任何可以交换的元素,排序结束,这是最理想的
稳定性:稳定,(执行前后没有对数据没有变化,位置等)

原理和方法:

1,每次都是相邻的两个元素比较,如果前一个元素比相邻的后一个元素大就交换位置

2,这样一轮下来,最大的元素就放在了数组的最后面,然后再继续执行第1步,找出第二大的元素

 

代码实现:

def bubble_sort(array):
    """
    冒泡排序:
    每次都是相邻的两个元素比较,谁大就交换位置,
    这样第一轮下来最大的元就放在了最后面,然后再继续下一轮比较找出第二大的元素
    """
    n = len(array)
    for i in range(n):  # 有多少个数就循环多少次
        for j in range(1, n-i):
            if array[j-1] > array[j]:  # 每次都是相邻的两个元素比较
                array[j-1], array[j] = array[j], array[j-1]

    return array


res = bubble_sort(array)  # 冒泡排序
print(res)

输出结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/450414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

供需两端催化口腔医疗服务市场增长 未来将呈现线上化、智能化、品质化三大趋势

一、口腔医疗服务行业概述 口腔由唇、颊、舌、腭、涎腺、牙和颌骨等部分组成。口腔疾病种类繁多,伴随人全生命周期,常见疾病有龋病、牙周疾病、牙髓病、根尖周病、牙齿缺损、错颌畸形等,多数口腔疾病的发病率高,诊疗需求大。除此…

深度强化学习——策略学习(3)

本文的重点:使用一个神经网络来近似策略函数Π 我们使用一个神经网络来近似策略函数,这个神经网络叫做策略网络,他可以用来控制agent运动,想要训练这个神经网络,就要用到policy gradient算法 策略函数Π的输入是当前…

苹果离开中国制造影响有多大?后果不堪设想,可能是灭顶之灾

由于苹果力推印度制造,各方都对苹果与中国制造的关系高度关注,那么苹果真的离开中国制造的话,结果会如何呢?对双方来说,影响会非常大,超出想象。 一、中国制造对苹果的依赖 苹果对产业链拥有巨大的影响力&a…

Python基础快速入门

一、中文编码问题 带大家过一遍菜鸟学python的基础内容 二、Python基础语法 1、Python 中的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from x…

用Socket API建立简易TCP服务端、客户端

//---------------------- //-- 用Socket API建立简易TCP客户端 // 1 建立一个Socket // 2 连接服务器 connect // 3 接收服务器信息 recv // 4关闭套接字 closesocket // -- 用Socket API建立简易TCP服务端 // 1 建立一个socket // 2 bind 绑…

JetBrains Gateway IDEA远程开发

为什么进行远程开发? 无论身处何处数秒内连接至远程环境 充分利用远程计算机的强大功能 在任何笔记本电脑上都可以轻松工作,无论其性能如何。借助远程计算机的计算资源,充分利用最大规模的数据集和代码库。在远程服务器上保护敏感代码 如果…

知识变现海哥|你为什么知识却不富有,是你不懂这个道理

要有价值观念,要有交换思维。商业的本质都是基于价值交换,你能为别人提供多少价值,你就能赚多少米,你帮助别人处理的问题越多你越有价值,你能成就多少人你就能被多少人成就。这是商业行为的底层逻辑。 你没赚到米 一是…

老胡的周刊(第088期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 nginx-ui[2] Nginx 后台管理 UI:…

港联证券|TMT板块全线退潮,这些个股获主力逆市抢筹

计算机、电子、传媒、通讯职业流出规模居前。 今天沪深两市主力资金净流出709.92亿元,其中创业板净流出218.36亿元,沪深300成份股净流出187.92亿元。 资金流向上,今天申万一级职业普跌,除了国防军工职业小幅上涨,获主…

vim编辑器使用教程

文章目录 前言一、vim 的三种工作模式二、vim 基本操作1、编辑2、复制粘贴3、撤销4、跳转5、查找和替换6、自动缩进7、分屏8、其他 三、vim 配置文件 前言 vim 是 Linux 系统内置的「文本编辑器」,用于查看或编辑文件的内容,学会使用 vim 编辑器&#x…

【ros】7.ros导航navigation(定位规划)

物竞天择,优胜劣汰;苟不自新,何以获存。——梁启超 文章目录 :smirk:1. ros导航:blush:2. 2d导航:satisfied:3. 3d导航 😏1. ros导航 ros机器人有个导航功能,类似自动驾驶车辆的规控部分,即根据地图&…

性能测试:深入理解线程数,并发量,TPS,看这一篇就够了

并发数,线程数,吞吐量,每秒事务数(TPS)都是性能测试领域非常关键的数据和指标。 那么他们之间究竟是怎样的一个对应关系和内在联系? 测试时,我们经常容易将线程数等同于表述为并发数&#xff…

短视频app搭建的技术难点是什么?

近年来,短视频app的流行引起了广泛关注。越来越多的企业开始投入资源来开发短视频app,以满足用户的需求。然而,短视频app的开发过程中,存在许多技术难点需要解决。本文将深入分析短视频app搭建的技术难点。 短视频app的意义 随着…

Centos 7 内核在线升级

目录 一、参考文档 二、升级centos内核 三、centos内核一键升级脚本 一、参考文档 1、内核版本的分类等相关信息见官网:https://www.kernel.org/ 2、 第三方仓库ELRepo参考官网:http://elrepo.org/tiki/HomePage 3、国内yum源:https://…

为什么大量失业集中爆发在2023年?被裁?别怕!失业是跨越职场瓶颈的关键一步!对于牛逼的人,这是白捡N+1!...

被裁究竟是因为自身能力不行,还是因为大环境不行? 一位网友说: 被裁后找不到工作,本质上还是因为原来的能力就配不上薪资。如果确实有技术在身,根本不怕被裁,相当于白送n1! 有人赞同楼主的观点&…

如何在视频直播网站开发上集成即时聊天功能

视频直播网站开发需要考虑许多因素,其中一个非常重要的因素是与观众的互动。为了增强观众的参与度和留存率,许多视频直播网站都已经开始集成即时聊天功能。本文将介绍如何在视频直播网站开发上集成即时聊天功能,以提高观众的参与度和留存率。…

SQL Server基础 第五章 函数的使用(日期、字符串、时间、数学、转换等函数)

前言 在SQL Server中提供了许多内置函数,SQL Server中的内置函数就相当于Java、C#等编程语言中的内置API函数。按照函数种类可以分为聚合函数、数学函数、字符串函数、日期函数和时间函数、转换函数和元数据的数6种。在本章中重点讲解比较常用的4种函数&#xff0c…

python从入门到入狱系列-帮你彻底搞懂python的项目实战,爬虫获取NBA成员信息

作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。…

020 - C++ 枚举

今天我们要讲的是 C 中的枚举。 enum 是 enumeration 的缩写,基本上可以说,它就是一个数值集合。如果你想要给枚举一个更实际的定义,它们是给一个值命名的一种方法。 所以我们不用一堆叫做 A、B、C 的整数。我们可以有一个枚举数。它的值是…

Flask 与 Django 先学哪个呢

本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验。希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 —— 当然也很有趣! 相似之处 让我们从相似之处开始。 No. 1 Flask 和 Djang…