Main
This commit is contained in:
parent
e741fab112
commit
a703898619
|
|
@ -216,4 +216,35 @@ def plot_results(data_matrix):
|
||||||
|
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
plt.savefig('performance_graphs.png')
|
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