Day1 Bubble sort冒泡法

2020-05-24  本文已影响0人  快乐的老周

交作业:

def bubble_sort(mylist):
    for j in range(len(mylist)-1):
        for i in range(len(mylist)-1):
            if mylist[i] > mylist[i+1]:
                mylist[i],mylist[i+1] = mylist[i+1],mylist[i]
    return mylist

def test_bubble_sort():
    assert bubble_sort([0, 5, 2, 3, 2]) == [0, 2, 2, 3, 5]
    assert bubble_sort([-2, -45, -5]) == [-45, -5, -2]
    assert bubble_sort([-23, 0, 6, -4, 34]) == [-23, -4, 0, 6, 34]

python很方便地交换两个元素,a,b = b,a,否则应该写一个swap函数

学会冒泡排序算法

文章参考:https://stackabuse.com/bubble-sort-in-python/

作业:写出冒泡的代码,并上传到知识星球里,详见下面介绍。

算法刷题 1:精通冒泡排序
对于大多数人来说,冒泡排序可能是他们在计算机科学课程中听说的第一种排序算法。

它高度直观且易于“转换”为代码,这对于新软件开发人员而言非常重要,因此他们可以轻松地将自己转变为可以在计算机上执行的形式。

但是,Bubble Sort 是在每种情况下性能最差的排序算法之一。但是,排序算法也不是一无是处,检查数组是否已排序,它通常优于快速排序等更有效的排序算法。

Bubble Sort 背后的想法非常简单,我们查看数组中相邻的成对元素,一次查看一对。

如果第一个元素大于第二个元素,则交换它们的位置,否则将它们继续移动。

让我们看下面这个冒泡排序的整个实现过程:

实现
借助可视化功能,让我们继续实施算法。想办法补全如下代码:

def bubble_sort(our_list):

写出你的代码

补充完整

return our_sorted_list
如果你搞不定,请参考下面文章:

https://stackabuse.com/bubble-sort-in-python/

上一篇下一篇

猜你喜欢

热点阅读