在Python中,我们知道在字典中查找键需要O(1)运行时间,但是在dictionary.values()中查找的运行时间是多少?
dictionary = {'a':[66,77,88], 'b':[99,100]}
key = 'a'
if key in dictionary: # takes O(1) run time
number = '99'
if number in dictionary.values(): # What is the run time here?
编辑#1:键的值可以是列表或集合。许多人回答说,如果值是列表,则运行时间为O(1)。
如果设置值,它会是O(N)吗?
dictionary = {'a':(66,77,88), 'b':(99,100)}
number = '99'
if number in dictionary.values(): # What is the run time here?
答案 0 :(得分:1)
让x in s
在列表中搜索的操作{x = item,s = list}
平均情况 - 假设随机均匀生成的参数 - 对于这样的操作将是O(n)
有关时间复杂度的更多信息,请参阅official link