计算T(n)?算法效率(Python)

时间:2017-10-19 00:05:48

标签: python algorithm time-complexity

我得到了整个大“O”的东西,但我对整个“发现或计算T(n)”感到困惑

顺序搜索存在一个问题。 而不只是给我答案,请告诉我你是如何得到的

def sequentialSearch(alist, item):
    pos = 0
    found = False

    while pos < len(alist) and not found:
        if alist[pos] == item:
            found = True
        else:
            pos = pos+1
    return found

1 个答案:

答案 0 :(得分:0)

时间复杂度是算法运行时间如何取决于输入的幅度/大小的最坏情况估计。通常,在算法中寻找重复逻辑(主要是递归或循环)。然后找出重复次数所依赖的输入 - 在这种情况下,它是输入'alist'的大小。尝试找出输入的大小/大小与最坏情况下的重复动作数之间的依赖关系。在这里,最糟糕的情况是如果'item'是'alist'中的最后一个元素,在这种情况下while循环将运行len(alist)次。因此,时间复杂度为O(len(alist))或O(n),其中n是控制算法运行时间的输入的幅度/大小。