Python|冒泡算法快速入门
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python|冒泡算法快速入门相关的知识,希望对你有一定的参考价值。
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
引言
在生活中,水中的气泡常常冒出水面,似乎它们会自动排序,其实在算法排序中,也有着一种类似的算法,这就是今天要引入的算法-“冒泡算法”。
冒泡算法,顾名思义,就是保证每个数据像水中的水泡一样,一点一点的向前方挪去,而“不同大小的水泡”的顺序不是随机的。
问题描述
冒泡排序是一种计算机科学领域的较简单的排序算法。原理如下:
1. 先比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3. 重复以上2的步骤,直到没有元素可以进行比较。
注意,冒泡排序的平均时间复杂度为O(n²)
例如:要比较排序数组:[10,1,35,61,89,36,55](升序)
首先首次排序,10比1大,因此交换位置,,之后10和35比较,10小于35,不交换位置,35与61比较,前者小于后者,不交换位置,61和89比较,61小于89,不交换位置,以此类推,直到完成首次排序,数组顺序为[1,10,35,61,36,55,89],
发现数组顺序仍然不对,因此进行第二次排序:1和10比较,1小于10,不交换位置,10
以上是关于Python|冒泡算法快速入门的主要内容,如果未能解决你的问题,请参考以下文章