开发者社区> 问答> 正文

冒泡排序法的时间复杂度怎么算? f(n)为什么等于n+4*n^2/2?

冒泡排序法的时间复杂度怎么算?f(n)为什么等于n+4*n^2/2?

展开
收起
知与谁同 2018-07-19 14:43:32 2741 0
1 条回答
写回答
取消 提交回答
  • 12535
    外层循环n-1次,有1句赋值,内层循环n-i次,有4句赋值。
    内层循环总的次数用等差数列求和公式算一下就是(1+(n-1))*(n-1)/2=n*(n-1)/2≈n^2/2
    所以f(n)≈1 * n + 4 * n^2/2
    存在常数c使得当n很大时,f(n)<=c*n^2,所以时间复杂度是O(n^2)
    2019-07-17 22:51:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载