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

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
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
