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
  • 相关阅读:
    (转载)Bonding技术指南
    Linux配置虚拟地址
    VB6之写注册表
    Tomcat集群搭建
    VBS连接远程Oracle
    机器学习 目标函数,损失函数
    深度学习理解内容 初
    leetcode 39. Combination Sum
    leetcode 33. Search in Rotated Sorted Array
    leetcode 29. Divide Two Integers
  • 原文地址:https://www.cnblogs.com/kxzh/p/9069222.html
Copyright © 2011-2022 走看看