这一篇博客主要写的是冒泡排序算法,常见的排序算法有:冒泡、插入、选择、快速、希尔、归并、堆排序,那么今天我所介绍的是冒泡排序算法。
时间复杂度一般指的是平均时间复杂度,即指的循环体的执行次数。
空间复杂度是指需要额外开辟的空间。
冒泡排序是一种简单的排序算法。从第一个数开始,重复地走访要排序的数列,一次比较两个元素,依次进行比较,如果他们的顺序错误,就把它们换过来,走访数列的工作是重复地进行直到没有再需要交换的数,也就是数列已经排序完成。
冒泡排序分从大到小和从小到大两种排序方式。它们的唯一区别就是两个数交换的条件不同,从大到小排序是前面的数比后面的小的时候交换,而从小到大排序是前面的数比后面的数大的时候交换。我这里只说 从小到大的排序方式。
冒泡排序的时间复杂度为O(n2),空间复杂度为O(1),冒泡排序是一种稳定的排序算法。