исправлено csv 2.0

This commit is contained in:
konnovaea 2026-04-26 22:04:01 +03:00
parent f914a177a5
commit 09e7e59f55
3 changed files with 136 additions and 31 deletions

View File

@ -0,0 +1,109 @@
Структура, Режим, Операция, Замер, Время (сек)
LinkedList,случайный,вставка,1,0.0026327000014134683
LinkedList,случайный,вставка,2,0.002111699999659322
LinkedList,случайный,вставка,3,0.0032677000017429236
LinkedList,случайный,вставка,4,0.001870000000053551
LinkedList,случайный,вставка,5,0.0015884999993431848
LinkedList,случайный,вставка,среднее,0.00229412000044249
LinkedList,случайный,поиск,1,6.800000846851617e-06
LinkedList,случайный,поиск,2,8.099999831756577e-06
LinkedList,случайный,поиск,3,5.40000110049732e-06
LinkedList,случайный,поиск,4,7.99999907030724e-06
LinkedList,случайный,поиск,5,8.600000001024455e-06
LinkedList,случайный,поиск,среднее,7.380000170087442e-06
LinkedList,случайный,удаление,1,4.499997885432094e-06
LinkedList,случайный,удаление,2,4.19999923906289e-06
LinkedList,случайный,удаление,3,4.599998646881431e-06
LinkedList,случайный,удаление,4,3.5999983083456755e-06
LinkedList,случайный,удаление,5,5.800000508315861e-06
LinkedList,случайный,удаление,среднее,4.53999891760759e-06
HashTable,случайный,вставка,1,0.013042499998846324
HashTable,случайный,вставка,2,0.010821200001373654
HashTable,случайный,вставка,3,0.01149979999900097
HashTable,случайный,вставка,4,0.012371500000881497
HashTable,случайный,вставка,5,0.01258369999777642
HashTable,случайный,вставка,среднее,0.012063739999575773
HashTable,случайный,поиск,1,0.00011100000119768083
HashTable,случайный,поиск,2,0.00012829999832320027
HashTable,случайный,поиск,3,0.00010610000026645139
HashTable,случайный,поиск,4,0.00015050000001792796
HashTable,случайный,поиск,5,0.00011000000085914508
HashTable,случайный,поиск,среднее,0.00012118000013288111
HashTable,случайный,удаление,1,5.6700002460274845e-05
HashTable,случайный,удаление,2,5.410000085248612e-05
HashTable,случайный,удаление,3,0.000103599999420112
HashTable,случайный,удаление,4,5.430000237538479e-05
HashTable,случайный,удаление,5,0.00012520000018412247
HashTable,случайный,удаление,среднее,7.878000105847605e-05
BST,случайный,вставка,1,0.022040200001356425
BST,случайный,вставка,2,0.02033830000073067
BST,случайный,вставка,3,0.023025400001642993
BST,случайный,вставка,4,0.021383999999670777
BST,случайный,вставка,5,0.028112400003010407
BST,случайный,вставка,среднее,0.022980060001282256
BST,случайный,поиск,1,0.0003209000024071429
BST,случайный,поиск,2,0.0002975999996124301
BST,случайный,поиск,3,0.0002946999993582722
BST,случайный,поиск,4,0.00029429999995045364
BST,случайный,поиск,5,0.0003305000027467031
BST,случайный,поиск,среднее,0.0003076000008150004
BST,случайный,удаление,1,0.00019420000171521679
BST,случайный,удаление,2,0.00015970000094966963
BST,случайный,удаление,3,0.00017920000027515925
BST,случайный,удаление,4,0.00023010000222711824
BST,случайный,удаление,5,0.00015329999951063655
BST,случайный,удаление,среднее,0.0001833000009355601
LinkedList,отсортированный,вставка,1,0.001523099999758415
LinkedList,отсортированный,вставка,2,0.0014689999989059288
LinkedList,отсортированный,вставка,3,0.0020084999996470287
LinkedList,отсортированный,вставка,4,0.001334699998551514
LinkedList,отсортированный,вставка,5,0.0013204000024416018
LinkedList,отсортированный,вставка,среднее,0.0015311399998608976
LinkedList,отсортированный,поиск,1,6.199999916134402e-06
LinkedList,отсортированный,поиск,2,7.699996785959229e-06
LinkedList,отсортированный,поиск,3,1.049999991664663e-05
LinkedList,отсортированный,поиск,4,1.6500001947861165e-05
LinkedList,отсортированный,поиск,5,5.999998393235728e-06
LinkedList,отсортированный,поиск,среднее,9.379999391967431e-06
LinkedList,отсортированный,удаление,1,2.8000031306874007e-06
LinkedList,отсортированный,удаление,2,4.300000000512227e-06
LinkedList,отсортированный,удаление,3,3.2999996619764715e-06
LinkedList,отсортированный,удаление,4,2.4999972083605826e-06
LinkedList,отсортированный,удаление,5,1.179999890155159e-05
LinkedList,отсортированный,удаление,среднее,4.9399997806176545e-06
HashTable,отсортированный,вставка,1,0.00991520000025048
HashTable,отсортированный,вставка,2,0.010728299999755109
HashTable,отсортированный,вставка,3,0.010542399999394547
HashTable,отсортированный,вставка,4,0.009933500001352513
HashTable,отсортированный,вставка,5,0.010409299997263588
HashTable,отсортированный,вставка,среднее,0.010305739999603247
HashTable,отсортированный,поиск,1,0.0002734000008786097
HashTable,отсортированный,поиск,2,0.00026509999952395447
HashTable,отсортированный,поиск,3,0.00010439999823574908
HashTable,отсортированный,поиск,4,0.00015179999900283292
HashTable,отсортированный,поиск,5,0.0002571000004536472
HashTable,отсортированный,поиск,среднее,0.00021035999961895868
HashTable,отсортированный,удаление,1,5.560000136028975e-05
HashTable,отсортированный,удаление,2,0.00011499999891384505
HashTable,отсортированный,удаление,3,7.330000153160654e-05
HashTable,отсортированный,удаление,4,0.00010929999916697852
HashTable,отсортированный,удаление,5,5.330000203684904e-05
HashTable,отсортированный,удаление,среднее,8.130000060191378e-05
BST,отсортированный,вставка,1,7.89803430000029
BST,отсортированный,вставка,2,10.66406199999983
BST,отсортированный,вставка,3,4.9183209000002535
BST,отсортированный,вставка,4,4.762505400001828
BST,отсортированный,вставка,5,4.723310599998513
BST,отсортированный,вставка,среднее,6.593246640000143
BST,отсортированный,поиск,1,0.04402579999805312
BST,отсортированный,поиск,2,0.04447000000072876
BST,отсортированный,поиск,3,0.04556789999696775
BST,отсортированный,поиск,4,0.04493789999833098
BST,отсортированный,поиск,5,0.04496440000002622
BST,отсортированный,поиск,среднее,0.044793199998821365
BST,отсортированный,удаление,1,0.021394800001871772
BST,отсортированный,удаление,2,0.02051940000092145
BST,отсортированный,удаление,3,0.021468799997819588
BST,отсортированный,удаление,4,0.02171239999734098
BST,отсортированный,удаление,5,0.01968499999929918
BST,отсортированный,удаление,среднее,0.020956079999450594
unable to load file

File diff suppressed because one or more lines are too long

View File

@ -225,37 +225,34 @@ def run_bst_experiments(records, mode_name):
'delete_avg': avg_delete,
'delete_all': delete_times
}
def save_result_to_csv(all_results):
def save_results_to_csv(all_results):
os.makedirs("docs/data", exist_ok=True)
csv_rows = []
csv_rows.append(["Структура", "Режим", "Операция", "Номерамера", "Время(сек)"])
for res in all_results:
struct = res['structure']
mode = res['mode']
for i, t in enumerate(res['insert_all']):
csv_rows.append([struct, mode, "вставка", i+1, t])
csv_rows.append([struct, "вставка", "среднее", res['insert_avg']])
for i, t in enumerate(res['find_all']):
csv_rows.append([struct, mode, "поиск", i+1, t])
csv_rows.append([struct, "поиск", "среднее", res['find_avg']])
for i, t in enumerate(res['delete_all']):
csv_rows.append([struct, mode, "удаление", i+1, t])
csv_rows.append([struct, "удаление", "среднее", res['delete_avg']])
with open("docs/data/results.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(csv_rows)
print(f"\nрезультаты сохранены")
with open("docs/data/results.csv", "w", encoding="utf-8") as f:
f.write("Структура, Режим, Операция, Замер, Время (сек)\n")
for res in all_results:
struct = res['structure']
mode = res['mode']
for i, t in enumerate(res['insert_all']):
f.write(f"{struct},{mode},вставка,{i+1},{t}\n")
f.write(f"{struct},{mode},вставка,среднее,{res['insert_avg']}\n")
for i, t in enumerate(res['find_all']):
f.write(f"{struct},{mode},поиск,{i+1},{t}\n")
f.write(f"{struct},{mode},поиск,среднее,{res['find_avg']}\n")
for i, t in enumerate(res['delete_all']):
f.write(f"{struct},{mode},удаление,{i+1},{t}\n")
f.write(f"{struct},{mode},удаление,среднее,{res['delete_avg']}\n")
def main():
print("эксперименты по замеру производительности")
@ -276,7 +273,7 @@ def main():
all_results.append(run_hash_experiments(records_sorted, "отсортированный"))
all_results.append(run_bst_experiments(records_sorted, "отсортированный"))
save_result_to_csv(all_results)
save_results_to_csv(all_results)
if __name__== "__main__":
main()