求问一下,关于代码的时间复杂度
1: def binary_min(arr):2: if len(arr) == 1:
3: return arr
4: else:
5: mid = len(arr)//2
6: min1 = binary_min(arr)
7: min2 = binary_min(arr)
8: if min1 < min2:
9: return min1
10: else:
11: return min2
想问问 line 8的时间复杂度基于 对比数量 (我认为 是 O(log n) )
还有这个 功能整体的时间复杂度 (我认为 是 O(n) ) 这两段代码一模一样,都是两分法递归。时间复杂度都是O(LOGN) xieglt 发表于 2020-10-23 07:42
这两段代码一模一样,都是两分法递归。时间复杂度都是O(LOGN)
想问一下,那第八行执行的次数的时间复杂度呢 本帖最后由 xieglt 于 2020-10-23 08:38 编辑
JINNINGXIAN 发表于 2020-10-23 07:57
想问一下,那第八行执行的次数的时间复杂度呢
一条IF指令O(1)
看错了,是数组比较,如果是C语言实现的话,应该是O(N/2)*O(LOGN)
页:
[1]