求冒泡排序详解。代码,原理,以及时间复杂度等等。需要比较详细的解释,最好是博文。找了很多篇,不是付费,就是不好@静渊隐者
收起
冒泡排序是一种简单的排序算法,它重复地遍历数列,比较相邻的两个元素,如果它们的顺序错误就把它们交换。最坏的时间复杂度为 $O(n^2)$,平均的时间复杂度为 $O(n^2)$。
--代码实现类似下面
def bubble_sort(nums): for i in range(len(nums) - 1): for j in range(len(nums) - i - 1): if nums[j] > nums[j + 1]: nums[j], nums[j + 1] = nums[j + 1], nums[j] return nums
原理:冒泡排序从数组的第一个元素开始,与相邻的元素比较,如果它比相邻元素大,就交换它们的位置。该过程在整个数组上继续重复,直到最大的元素被放到了数组的末尾。然后,忽略最后的元素,在剩下的数组中重复相同的过程。每一次该过程结束后,最大的元素都被移动到了数组的末尾。
--参照博文,这个需要你花时间研究了
https://blog.csdn.net/u014532901/article/details/52628424https://developer.aliyun.com/article/845386
报告相同问题?
程序员都在用的中文IT技术交流社区
专业的中文 IT 技术社区,与千万技术人共成长
关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!