面试必问的冒泡排序,原来这么回答就可以满分了-0907

Posted 自动化软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试必问的冒泡排序,原来这么回答就可以满分了-0907相关的知识,希望对你有一定的参考价值。


本期技术分享讲师 Arthur老师

题目内容冒泡排序

本期语音讲解

面试必问的冒泡排序,原来这么回答就可以满分了-0907
本期文字解析
实现思路:使用双重for循环,内层变量为i, 外层为j。在内层循环中不断的比较相邻的两个值(i, i+1)的大小:如果i+1的值大于i的值,交换两者位置。每循环一次,外层的j增加1,等到j等于n-1的时候,结束循环。

代码实现:
arr = [7, 4, 3, 67, 34, 1, 8]

def bubble_sort(arr):
    n = len(arr)
    for j in range(0, n - 1):
        for i in range(0, n - 1 - j):
            if arr[i] > arr[i + 1]:
                arr[i], arr[i + 1] = arr[i + 1], arr[i]

bubble_sort(arr)
print(arr)  # [1, 3, 4, 7, 8, 34, 67]

冒泡算法:
时间复杂度:最好情况O(n*n),最差情况O(n*n)
算法稳定与否:稳定
空间复杂度:O(1)

推荐阅读:










以上是关于面试必问的冒泡排序,原来这么回答就可以满分了-0907的主要内容,如果未能解决你的问题,请参考以下文章

45期盘点那些必问的数据结构算法题之基础排序

面试必问的 JVM 运行时数据区,你懂了吗?

面试必问的 JVM 运行时数据区,你懂了吗?

微服务面试必问的Dubbo,这么详细还怕自己找不到工作?

微服务面试必问的Dubbo,这么详细还怕自己找不到工作?

字节面试官必问的Mysql锁机制