我目前正在用算法和数据结构解决问题
因此,我在这里进行第三个问题的编程练习,因为它说设计一个比较 del 运算符在列表和字典上的性能的实验。
这是我这边的解决方案:
3) 设计一个实验,
del
比较运算符在列表和字典上的性能。
1) 列出:
def listitems(lis):
del(lis[16])
return lis
def time_taken(n):
start_time = time.time()
result = n
end_time = time.time()
return end_time - start_time, result
print time_taken(listitems([1,2,3,5,4,5,6,5,4,8,5,2,4,5,2,6,3,5,12,4,2,5,2,4,[1,5,4,5,4,54,5,5,6,4,5,[2,4,5,5,1,2,5]]]))
2) 字典
def dictionary(dic):
del(dic["Topic"])
return dic
def time_taken(n):
start_time = time.time()
result = n
end_time = time.time()
return end_time - start_time, result
print time_taken(dictionary({"Name": "Pradeep", "Age": 23, "Learning": "Python", "Topic": "Big O Notation"}))
输出:
(0.0, [1, 2, 3, 5, 4, 5, 6, 5, 4, 8, 5, 2, 4, 5, 2, 6, 5, 12, 4, 2, 5, 2, 4, [1, 5, 4, 5, 4, 54, 5, 5, 6, 4, 5, [2, 4, 5, 5, 1, 2, 5]]])
(0.0, {'Age': 23, 'Name': 'Pradeep', 'Learning': 'Python'})
所以根据大 O 表示法列表输出时间应该不同于字典输出时间
参考:时间复杂度