冒泡排序时间复杂度

 我来答
热爱数码的小枕
2022-10-09 · TA获得超过380个赞
知道小有建树答主
回答量:1002
采纳率:100%
帮助的人:16.6万
展开全部

O(N^2)。

冒泡排序的时间复杂度为O(N^2),每次比较两个相邻元素,如果他们的顺序错误就把它们交换过来。

例如我们需要将12,35,99,18,76,5个数进行从大到小排序,既然是从大到小排序,也就是越小越靠后。首先比较第一个数和第二个数,第一个是12,第二个是35,发现12小于35,由于是越小越靠后,因此要对这两个数交换位置,那么交换后的顺序为35,12,99,18,76。

按照之前的方法,我们比较第二个和第三个数,第二个是12第三个是99,99大于12,所以要交换两个数的位置,交换过的顺序为35,99,12,18,76。以此类推即可。

特点说明

冒泡排序是一种简单、稳定的交换排序方法,属于最为基础的排序方法之一。其时间复杂度最好情况为O(n)、最差与平均情况为O(n²),空间复杂度为O(1)。

 以升序排序为例,比较两个相邻的数,当后者大于前者时,二者交换;当后者小于等于前者时,继续检索。每交换一轮都能将未排序序列中的最大值交换至未排序序列尾,成为已排序序列头。同时每一轮交换结束后下一轮比较次数-1,当比较次数为0时排序完成。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式