《python数据结构与算法分析(第2版)》答案 第二章

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)
    # print("%d,%10.3f" % (i, lst_time))
    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)
    # print("%d,%10.3f" % (i, lst_time))
    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()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值