一共是5道,因为缺席了半个月的课,现在听不懂了,求帮忙,谢谢
4条回答 默认 最新
- Java大魔王 2022-11-04 08:37关注
import numpy as np import random import time import matplotlib.pyplot as plt # 生成随机整数列表 def create_list(n): nums = [] for i in range(0, n): nums.append(random.randint(0, 100)) return nums # 求两个列表的点积 def list_dot(K, L): if len(K) == len(L) and len(K) != 0: return sum([K[n] * L[n] for n in range(len(K))]) else: return 0 # 生成随机整数numpy数组 def create_numpy(n): return np.random.randint(0, 100, n) # 计算numpy点积 def numpy_dot(K, L): return np.dot(K, L) if __name__ == '__main__': x = [] list_y = [] numpy_y = [] # 循环十次,用于matplotlib绘图数据 for i in range(1, 11): list_one = create_list(i * 1000) list_two = create_list(i * 1000) list_dot_start = time.time() list_dot_result = list_dot(list_one, list_two) list_dot_end = time.time() numpy_one = create_numpy(i * 1000) numpy_two = create_numpy(i * 1000) numpy_dot_start = time.time() numpy_dot_result = numpy_dot(numpy_one, numpy_two) numpy_dot_end = time.time() list_dot_diff = list_dot_end - list_dot_start numpy_dot_diff = numpy_dot_end - numpy_dot_start x.append(i * 1000) list_y.append(list_dot_diff) numpy_y.append(numpy_dot_diff) # 绘图 plt.rcParams["font.sans-serif"] = ["SimHei"] # 设置字体 plt.rcParams["axes.unicode_minus"] = False # 该语句解决图像中的“-”负号的乱码问题 plt.figure(figsize=(12, 8)) plt.plot(x, list_y, color='red') plt.plot(x, numpy_y, color='blue') plt.ylabel("函数运行时间") plt.xlabel("数据大小") plt.grid() plt.show()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录