为什么冒泡排序被称为冒泡排序?

时间:2015-06-25 19:47:34

标签: algorithm sorting bubble-sort

我正在学习泡泡排序。而且我倾向于忘记每次的排序类型。所以我试图找到每种类型的逻辑含义,以便它有助​​于回忆排序逻辑:

我无法理解为什么冒泡排序被命名为冒泡排序?

5 个答案:

答案 0 :(得分:7)

Why is it called bubble sort?

  

冒泡排序得名,因为元素往往会向上移动到正确的顺序,就像气泡上升到表面一样。

答案 1 :(得分:2)

引自Wikipedia

  

冒泡排序,有时也称为沉没排序,是一种简单的排序算法,可以反复遍历要排序的列表,比较每对相邻的项目和交换他们如果他们的顺序错了。重复传递列表,直到不需要交换,这表明列表已排序。该算法是一种比较排序,以较小元素“冒泡”到列表顶部的方式命名。

答案 2 :(得分:1)

它被称为冒泡排序,因为在算法的一次迭代中,最小/最大元素将导致其在数组的结尾/开始处的最终位置。

因此,在某种意义上,在气泡排序算法的一次迭代中,数组中元素的运动类似于在水中升起的气泡的运动

答案 3 :(得分:0)

正如其他答案已经指出的那样,“气泡排序”的命名方式是因为元素将缓慢移动到列表的所需末端,类似于气泡向表面移动的方式。

答案 4 :(得分:0)

由于每次迭代,通过比较和交换,一个元素会冒泡直至未排序的子序列的最后一个

    # {...}
    def add_person(cls):
        return cls.number_of_people + 1

P1 = Person("Rups")
print(P1.add_person()) # prints 1 (number_of_people which is 0, then add 1)
print(P1.add_person()) # still prints 1