This commit is contained in:
Alexander 2026-05-25 00:12:23 +03:00
parent e741fab112
commit a703898619

View File

@ -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}")