------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 目录 CONTENTS
PART 1:什么是冒泡排序?
PART 2:冒泡排序的演示
PART 3:代码编写
PART 4:实战练习
PART 5:总结
> 接下来就正式开始学习了(go go go)
注:本章的重点会标红
> PART 1:什么是冒泡排序?
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
冒泡排序分为2种:
(1) 正序情况:只需一趟排序,(n−1)(n-1)(n−1)次比较且不移动记录。
(2) 逆序情况:需n(n−1)2\frac{n(n-1)}{2}2n(n−1) 次比较和记录移动。
但无论如何,冒泡排序总的时间复杂度为O(N2)O(N²)O(N2),可以看出,冒泡排序的速度极其的低下,只适合数据少时使用,一旦数据变多变大(如个数>1000个时),速度就十分慢。\RED{冒泡排序的速度极其的低下,只适合数据少时使用,一旦数据变多变大(如个数>1000个时),速度就十分慢。}冒泡排序的速度极其的低下,只适合数据少时使用,一旦数据变多变大(如个数>1000个时),速度就十分慢。
PART 2:冒泡排序的演示
如文字和图,对无序数列{5,9,3,1,2,8,4,7,65,9,3,1,2,8,4,7,65,9,3,1,2,8,4,7,6}进行了从小到大,从右往左\red{从小到大,从右往左}从小到大,从右往左的冒泡排序:
STEP 1:
从数列的最右侧开始,两两进行比较,将较小的数靠左,一轮操作后,数列变为{1,5,9,3,2,8,4,7,61,5,9,3,2,8,4,7,61,5,9,3,2,8,4,7,6}.
STEP 2:
重复STEP 1的操作,直到数组没有再需要交换,排序就完成了\RED{直到数组没有再需要交换,排序就完成了}直到数组没有再需要交换,排序就完成了.
PART 3:代码编写
冒泡排序的模版就在上面了(上面只是一种,还有其他方法)
PART 4:实战练习
例题:A21543.【模板】排序
这题也是非常的简单,看过刚才的模板就知道是最经典的冒泡排序
AC CODE:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PART 5:总结
> 1:冒泡排序可以将无序数组从小到大或从大到小排列,时间复杂度为O(n2)O(n^2)O(n2)
> 2:冒泡排序因其时间复杂度高,一般只用于数据少的数组中使用
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
喜欢的话点个赞再走吧\color{yellow}{喜欢的话点个赞再走吧}喜欢的话点个赞再走吧