zoukankan      html  css  js  c++  java
  • 20180521 数组时间复杂度

    A为整数数组, N为A的数组长度,请问执行以下代码,最坏情况下的时间复杂度为____。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void fun(int A[], int n) {                                                                       
        for (int i = n - 1; i >= 1; i--) {                                                          
            for (int j = 0; j < i; j++) {                                                            
                if (A[j] > A[j+1]) {                                                                
                    int tmp = A[j + 1];                                                              
                    A[j + 1] = A[j];
                    A[j] = tmp;
             }
          }
       }
    }
    O(N)
    O(N^2)
    O(Nlog(N))
    O(log(N))
    O(N^3)
    无法确定

    答案:B 错解:E
    冒泡排序法,最坏情况为(n-1)+(n-2)+……+1=n(n-1)/2   所以复杂度是N^2
  • 相关阅读:
    数据库相关(转)
    sql之left join、right join、inner join的区别
    PHP面试编程
    实验6 shell程序设计一(1)
    实验7 shell程序设计二(1)
    Linux软件安装管理
    Linux常用命令总结
    合唱团
    linux课后作业1
    linux网络服务实验
  • 原文地址:https://www.cnblogs.com/kxzh/p/9069222.html
Copyright © 2011-2022 走看看