继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

冒泡排序:如何用简单算法改变你的数据世界?

ABOUTYOU
关注TA
已关注
手记 477
粉丝 67
获赞 359

冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

算法原理

冒泡排序算法的核心思想是:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码示例

下面是一个使用Python实现的冒泡排序算法:

def bubble_sort(arr):
    n = len(arr)

    # 遍历所有数组元素
    for i in range(n):
        # 最后i个元素已经有序,无需比较
        for j in range(0, n - i - 1):
            # 交换相邻元素,如果前一个元素大于后一个元素
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]

# 示例
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)

print("排序后的数组:")
for i in range(len(arr)):
    print("%d" % arr[i], end=" ")

运行上述代码后,输出结果为:

排序后的数组: ***

适用场景

冒泡排序算法的时间复杂度为O(n^2),因此它仅适用于数据量较小的场景。在实际应用中,通常更倾向于使用时间复杂度较低的排序算法,如快速排序、归并排序等。

总之,冒泡排序是一种简单的排序算法,但它并非适用于所有场景。在实际应用中,需要根据实际需求和数据量选择合适的排序算法。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP