Python冒泡算法及原理

Python,学霸

  • 阅读指南
    • 原理
    • 实例
    • 输出
    • 效果

原理

冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的列表,一次比较两个元素,如果它们的顺序错误则交换它们的位置。通过多次遍历整个列表,直到不再需要交换,即可完成排序。具体来说,冒泡排序的基本思路如下:

  • 从头开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。
  • 继续向列表的下一个元素移动,重复上述比较和交换过程,直到到达列表的末尾。
  • 重复以上步骤,每次遍历都会使列表中最大的元素沉底(类似气泡向上升),直至列表完全有序。

实例


import time
def bubble_sort(data):
    start_time = time.time()
    n = len(data)
    for i in range(n):
        for j in range(n - i - 1):
            if data[j] > data[j + 1]:
                data[j], data[j + 1] = data[j + 1], data[j]
            #打印排序结果
            print_data(data)
            #增加等待时间
            time.sleep(0.5)
    end_time = time.time()
    #计算排序用时
    sort_time = end_time - start_time
    print("n冒泡排序用时:", sort_time)
    #打印排序结果
def print_data(data):
    print('r'' '.join(['*' * num for num in data]), end='')
data = [5, 9, 1, 4, 6]
print("原始数据:"' '.join(['*' * num for num in data]))
bubble_sort(data.copy())


输出

原始数据: ***** ********* * **** ******
 * **** ***** ****** *********
冒泡排序用时: 5.009825706481934

效果

Python冒泡算法及原理


原文始发于微信公众号(python学霸):Python冒泡算法及原理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/275918.html

(0)
python学霸的头像python学霸bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!