Main
This commit is contained in:
parent
e741fab112
commit
a703898619
|
|
@ -216,4 +216,35 @@ def plot_results(data_matrix):
|
|||
|
||||
plt.tight_layout()
|
||||
plt.savefig('performance_graphs.png')
|
||||
plt.show()
|
||||
plt.show()
|
||||
random_data, sorted_data = generate_data(2000)
|
||||
|
||||
structs = [
|
||||
('LinkedList', lambda: None, ll_insert, ll_find, ll_delete),
|
||||
('HashTable', lambda: ht_create(2000), ht_insert, ht_find, ht_delete),
|
||||
('BST', lambda: None, bst_insert, bst_find, bst_delete)
|
||||
]
|
||||
|
||||
data_matrix = {'LinkedList': {'random': {}, 'sorted': {}},
|
||||
'HashTable': {'random': {}, 'sorted': {}},
|
||||
'BST': {'random': {}, 'sorted': {}}}
|
||||
|
||||
for name, create, insert, find, delete in structs:
|
||||
for order, data in [('random', random_data), ('sorted', sorted_data)]:
|
||||
times = run_test(data, name, create, insert, find, delete)
|
||||
data_matrix[name][order] = times
|
||||
|
||||
with open('results.csv', 'w', newline='') as f:
|
||||
writer = csv.writer(f)
|
||||
writer.writerow(['структура', 'порядок_данных', 'операция', 'время_секунды'])
|
||||
for name in ['LinkedList', 'HashTable', 'BST']:
|
||||
for order in ['random', 'sorted']:
|
||||
for op in ['insert', 'search', 'delete']:
|
||||
writer.writerow([name, order, op, data_matrix[name][order][op]])
|
||||
|
||||
plot_results(data_matrix)
|
||||
|
||||
print("\n РЕЗУЛЬТАТЫ")
|
||||
for name in ['LinkedList', 'HashTable', 'BST']:
|
||||
for order in ['random', 'sorted']:
|
||||
print(f"{name} {order}: вставка={data_matrix[name][order]['insert']:.6f}, поиск={data_matrix[name][order]['search']:.6f}, удаление={data_matrix[name][order]['delete']:.6f}")
|
||||
Loading…
Reference in New Issue
Block a user