Question: python code, please help me fix the error CODE: import copy import random import pandas as pd import time import matplotlib.pyplot as plt import sys

python code, please help me fix the error

 python code, please help me fix the error CODE: import copy

CODE:

import copy import random import pandas as pd import time import matplotlib.pyplot as plt import sys INF = 99999999 def random_graph(num_vertices, max_cost): cm = [[0] * num_vertices for i in range(num_vertices)] for i in range(num_vertices): for j in range(num_vertices): if i == j: cm[i][j] = INF else: cm[i][j] = random.randint(1, max_cost) return cm def init_dist(matrix): dist = copy.deepcopy(matrix) n = len(dist) for i in range(n): dist[i][i] = 0 return dist def to_table(matrix): n = len(matrix) table = [[] for i in range(n)] for i in range(n): for j in range(n): if matrix[i][j]  dist[src][x] + matrix[x][y]: dist[src][y] = dist[src][x] + matrix[x][y] return dist def run_algs(algs, sizes, trials): dict_algs = {} for alg in algs: dict_algs[alg.__name__] = {} for size in sizes: for alg in algs: dict_algs[alg.__name__][size] = 0 for trial in range(1, trials + 1): matrix = random_graph(size, 99) if size == sizes[0]: print("Matrix") print_matrix(matrix) for alg in algs: start_time = time.time() dist = alg(matrix) if size == sizes[0]: print(alg.__name__) print_matrix(dist) end_time = time.time() net_time = end_time - start_time dict_algs[alg.__name__][size] += 1000 * net_time return dict_algs def plot_times(dict_algs, sizes, trials, algs, title, file_name): alg_num = 0 plt.xticks([j for j in range(len(sizes))], [str(size) for size in sizes]) for alg in algs: alg_num += 1 d = dict_algs[alg.__name__] x_axis = [j + 0.05 * alg_num for j in range(len(sizes))] y_axis = [d[i] for i in sizes] plt.bar(x_axis, y_axis, width=0.05, alpha=0.75, label=alg.__name__) plt.legend() plt.title(title) plt.xlabel("Size") plt.ylabel("Time for " + str(trials) + " trials (ms)") plt.savefig(file_name) plt.show() def print_matrix(matrix): n = len(matrix) for i in range(n): for j in range(n): if matrix[i][j] == INF: print("INF", end="\t") else: print(int(matrix[i][j]), end="\t") print() print() def print_times(dict_algs): pd.set_option("display.max_rows", 500) pd.set_option("display.max_columns", 500) pd.set_option("display.width", 1000) df = pd.DataFrame.from_dict(dict_algs).T print(df) def main(): # mini_test() assn = "Assignment7" sizes = [10 * i for i in range(1, 11)] algs = [floyd_apsp, bellman_ford_apsp, dijkstra_apsp] trials = 10 title = "Runtime of APSP Algorithms" dict_algs = run_algs(algs, sizes, trials) print_times(dict_algs) plot_times(dict_algs, sizes, trials, algs, title, assn + ".png") if __name__ == "__main__": main()

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!