Python教程-冒泡排序算法-小班周末班培训广州番禺-薯条老师
Python基础教程

第一章: 环境搭建,安装Python

第二章: 挑选一款趁手的IDE

第三章: 计算机基础知识

第四章: 命令行基础知识

第五章: 从全局把握Python

第六章: Python语言基础

第七章: Python流程控制

第八章: Python数据类型与运算

第九章: Python字符串类型

第十章: Python列表类型

第十一章: Python元组类型

第十二章: Python字典类型

第十三章: Python集合类型

第十四章: Python函数处理

第十五章: Python文件处理

第十六章: Python面向对象

第十七章: Python异常处理

第十八章: Python模块处理

第十九章: Python高级编程

第二十章: Python项目实战

首页 > Python基础教程 > 第十章: Python列表类型 > 10.5节: 程序实战-冒泡排序算法

10.5节: 程序实战-冒泡排序算法

薯条老师 2022-12-01 11:25:14 26125 0

编辑 收藏

10.5.1 排序算法简介

所谓排序,是指将数据集合中的元素按从小到大的顺序进行排列,或按从大到小的顺序进行排列。前者称为升序排序,后者称为降序排序。在数据结构与算法这门课程中,我们会学习到诸多与排序相关的算法,比如冒泡排序算法,选择排序算法,快速排序算法,堆排序算法等。在本节教程中,我们来掌握非常经典的冒泡排序算法。

10.5.2 冒泡排序算法

冒泡排序算法的原理很简单,相邻元素两两间进行比较,按照升序或降序的关系互换位置。比如在升序排序中,将大的气泡放在后面,小的放在前面。n个元素两两之间进行比较,只需比较n-1次,即可找出最值。找出最值后,最值自动冒泡到区间的尾部,然后再进行下一趟的比较。下图所示为将降序排列的[3,2,1]列表使用冒泡排序排成升序:

image.png

根据以上原理,我们现在使用Python语言来实现冒泡排序算法:

"""
@author: 薯条老师
@desc: 实现冒泡排序算法
"""

numbers = [3, 2, 1]
n = len(numbers)

# n个元素一共需要比较n-1趟
for outer_index in range(n-1):
    # outer_index用来表示已经冒泡到尾部的气泡
    # n个元素需比较n-1次才能找出最大或最小的值,所以是n-1
    # 下一趟需在上一趟的基础上再两两间进行比较,所以得再减去outer_index
    for inner_index in range(n-1-outer_index):
        if numbers[inner_index] > numbers[inner_index+1]:
            # 如果当前气泡大于后面的气泡,就互换位置
            numbers[inner_index],  numbers[inner_index+1] = \
                numbers[inner_index+1],  numbers[inner_index]

                            
# 执行print来输出升序排序后的列表
print(numbers)


10.5.3 最具实力的小班培训

薯条老师在广州有开设线下培训班,小班授课模式,一班最多6个人。也可一对一授课,全程帮助你学好计算机,实现高薪就业。不在广州的同学可提供住宿,也可以报名线上小班,用腾讯会议上直播课。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python高级爬虫+安卓逆向工程师就业班,月薪15K-25K,包拿Offer
(3) Python数据分析+商业分析+数据科学就业班,企业级项目实战,月薪10K-20K
(4) Python量化交易就业班,A股+期货+数字货币量化,月薪10K-40K
(5) Python机器学习+深度学习算法工程师,月薪20-50K

跟薯条老师学习的学生有拿到花生日记,林氏家居,南方电网,中国邮政集团,京东, 阿里等公司的offer, 学生的最低薪资有6K,最高薪资有18K, 平均就业薪资有11000。

扫码咨询薯条老师:

扫码领学习资料.jpg


欢迎 发表评论:

  • 请填写验证码