2.6
1. O(n^2)
2. O(n)
3. O(n)
4. O(n^3)
5. O(n)
6. O(n)
2.7.1
import timeit
import random
import matplotlib.pyplot as plt
x_label = []
y_label = []
for i in range(1000000,100000001,100000):
t = timeit.Timer("x[random.randrange(%d)] " % i,"from __main__ import random, x")
x = list(range(i))
lst_time = t.timeit(number=1000)
x_label.append(i)
y_label.append(lst_time)
plt.plot(x_label,y_label)
plt.show()
2.7.2
import timeit
import random
import matplotlib.pyplot as plt
x_label = []
y_label = []
y1_label = []
for i in range(1000000,100000001,5000000):
t = timeit.Timer("del x[random.randrange(%d)] " % i,"from __main__ import random, x")
x = list(range(i))
lst_time = t.timeit(number=1000)
x = {j:None for j in range(i)}
dict_time = t.timeit(number=1000)
x_label.append(i)
y_label.append(lst_time)
y1_label.append(lst_time)
plt.plot(x_label,y_label,x_label,y1_label)
plt.show()