用户:
super_lativer查看:0 回复:2 评论:0 创建时间:2023-12-16T20:29:27
一、简介
冒泡排序,指一种顺次比较大小并将大的元素往后排,最后将一个无序列表变得有序的排序算法。由于大的元素不断往后冒,就像气泡逐渐浮喵面,故此命名冒泡排序。
话说这样不应该叫沉底排序吗(划掉)
二、原理
从第一个元素开始,依次检查它的后一个元素是否小于它自己,如果是,则交换两个元素。随后继续检查下一个元素,以此类推,直到n-1个元素(n为元素的总个数)为止。这时候,最大的元素就一定会冒到最后。继续新一轮的冒泡,把第二大的元素冒到倒数第二的位置。以此类推,直到所有元素都冒完为止。这时列表就变得有序了。
三、代码实现
def bubblesort(nums):
for i in range(len(nums)-1,-1,-1):
for j in range(0,i):
if nums[j] > nums[j+1]:
nums[j],nums[j+1] = nums[j+1],nums[j]
四、复杂度
时间复杂度:代码中运用了两层嵌套循环,每层循环的次数都与数据量挂钩,因此其时间复杂度为O(n^2)。
空间复杂度:代码中只用到了i,j两个变量,空间占用为常数,因此空间复杂度为O(1)。
五、题外话
ikun工作室招!人!辣!!!!!!!!!
无门槛,不盗作,不违规即可加入
(我只有周末才有空,工作室的申请统一周日下午1点同意)
M_SynthLarkimgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E6%90%93%E5%A4%B4.gif"alt="emotion_编程猫_搓头" 冒泡真让人头大~3~
点赞0
评论
M_SynthLarkimgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%86%B7%E6%BC%A0.gif"alt="emotion_编程猫_冷漠"你的工作室好可怜啊,就你一个人
点赞0
评论