朴素算法的最坏情况运行时间

时间:2017-02-15 20:46:06

标签: algorithm

我不确定如何计算算法的最坏情况运行时间。我熟悉渐近符号,但不确定如何使用它。解释的一个例子可能是:

class Downloader {
    class func load(url: URL) { // better func load(from url: URL)
       let sessionConfig = URLSessionConfiguration.default
       let session = URLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil)
       let task = session.dataTask(with: url) { (data, response, error) in 
          // handle the error
          // process the data
       }
       task.resume()
    }
}

这具有一组N个点(X1,Y1)......(XN,YN)的输入,其中N> = 2。输出应该是最近点对的平方距离。我如何计算这个的运行时间?

1 个答案:

答案 0 :(得分:1)

该算法从 N 输入中获取所有可能的对。存在 n(n-1)/ 2 对,这是内循环的内部执行的次数。假设算术运算在时间上是恒定的,那么时间复杂度是 O(n 2)

请注意,此算法中没有未知因素会影响时间复杂度,因此这是最佳和最佳的因素。最坏情况时间复杂度:θ(n²)