冒泡排序,是将数组由小到大,或由大到小的一种排序算法。
假设排序是由小到大排序,冒泡算法的主要逻辑是,假设有N个数,游标从第一位数开始,若左边的数比右边的数大,则左边交换,游标移向下一位直到最后一位。在游标移动过程中,可以保证,右边的数一定比左边的数大,因为第一轮遍历是要找出最大的数,并且最大的数在最后一位。同理,要找出第二大的数,重复上述过程,直至找出第N大的数,排序结束。因此时间复杂度是N*N,空间复杂度是N。
冒泡排序,是将数组由小到大,或由大到小的一种排序算法。
假设排序是由小到大排序,冒泡算法的主要逻辑是,假设有N个数,游标从第一位数开始,若左边的数比右边的数大,则左边交换,游标移向下一位直到最后一位。在游标移动过程中,可以保证,右边的数一定比左边的数大,因为第一轮遍历是要找出最大的数,并且最大的数在最后一位。同理,要找出第二大的数,重复上述过程,直至找出第N大的数,排序结束。因此时间复杂度是N*N,空间复杂度是N。