In [1]:
import random
import time
import matplotlib.pyplot as plt
In [2]:
dict = {}
In [3]:
# 存储1000个元素
for i in range(0, 1000):
dict[f'{i}->{i + 1}'] = i
In [4]:
import time
time_lst = []
rand_i_lst = [random.randint(0, 1000 - 1) for _ in range(0, 10 ** 5)]
for test in range(0, 1000):
start = time.time()
for i in range(0, 10 ** 5):
rand_i = rand_i_lst[i]
tmp = dict[f'{rand_i}->{rand_i + 1}']
time_lst.append(time.time() - start)
plt.figure()
plt.hist(time_lst, bins=30)
plt.show()
In [5]:
# 存储100万个元素
for i in range(0, 1000000):
dict[f'{i}->{i + 1}'] = i
In [6]:
import time
time_lst2 = []
rand_i_lst2 = [random.randint(0, 1000000 - 1) for _ in range(0, 10 ** 5)]
for test in range(0, 1000):
start = time.time()
for i in range(0, 10 ** 5):
rand_i = rand_i_lst2[i]
tmp = dict[f'{rand_i}->{rand_i + 1}']
time_lst2.append(time.time() - start)
plt.figure()
plt.hist(time_lst2, bins=30)
plt.show()
In [7]:
plt.figure()
plt.hist(time_lst, bins=30, alpha=0.5, label='1000 elements')
plt.hist(time_lst2, bins=30, alpha=0.5, label='1000000 elements')
plt.xlabel('query 100000 times: time consuming')
plt.legend()
plt.show()
In [ ]: