>首页> IT >

图文详解Python冒泡排序算法

时间:2022-06-07 05:44:46       来源:转载
本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于冒泡排序的相关问题,包括了算法描述、分析、代码实现等等内容,下面一起来看一下,希望对大家有帮助。

推荐学习:python视频教程

1. 算法描述

2. 算法分析

3. 动图展示

4. 代码实现

实现代码:

import timepop_list = [19, 14, 10, 4, 15, 26, 20, 96]print("没排序前的列表为:", pop_list)# 记录开始时间start = time.time()# 外层循环控制轮数for i in range(len(pop_list) - 1):    # 内层循环控制比较次数    for j in range(len(pop_list) - i - 1):        # 如果前一个数字比后一个数字大,就交换位置        if pop_list[j] > pop_list[j + 1]:            # python特有交换位置方式            pop_list[j], pop_list[j + 1] = pop_list[j + 1], pop_list[j]print("排序好的列表为:", pop_list)# 记录结束时间end = time.time()print("算法总耗时:", end - start)

运行结果:

5. 算法升级

实现代码:

import timedef bubble_sort(pop_list):    for j in range(len(pop_list) - 1, 0, -1):        count = 0        for i in range(0, j):            if pop_list[i] > pop_list[i + 1]:                pop_list[i], pop_list[i + 1] = pop_list[i + 1], pop_list[i]                count += 1        if count == 0:            returnpop_list = [19, 14, 10, 4, 15, 26, 20, 96]print("没排序前的列表为:", pop_list)# 记录开始时间start = time.time()bubble_sort(pop_list)print("排序好的列表为:", pop_list)# 记录结束时间end = time.time()print("算法总耗时:", end - start)

运行结果:

6. 时间复杂度分析

推荐学习:python视频教程

以上就是图文详解Python冒泡排序算法的详细内容,更多请关注php中文网其它相关文章!

关键词: 冒泡排序 循环控制 算法描述