面试题答案
一键面试large_dict = {} # 这里只是示例,实际是百万级键值对
count = 0
for key in large_dict.keys():
if 'e' in key:
count += 1
print(count)
选择这种遍历方式的原因:在Python中,直接遍历字典的键(for key in large_dict.keys()
)是一种非常高效的方式。时间复杂度方面,字典在Python中是基于哈希表实现的,遍历字典键的时间复杂度接近O(n),n为字典中键值对的数量,因为哈希表的特性使得查找操作平均时间复杂度为常数,在遍历过程中对每个键进行判断是否包含 'e' 的操作也是常数时间复杂度,所以整体时间复杂度为O(n)。空间复杂度方面,只使用了常数级别的额外空间,即只定义了一个count
变量用于统计数量,所以空间复杂度为O(1) 。