исправлено 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
1 Структура Режим Операция Замер Время (сек)
2 LinkedList случайный вставка 1 0.0026327000014134683
3 LinkedList случайный вставка 2 0.002111699999659322
4 LinkedList случайный вставка 3 0.0032677000017429236
5 LinkedList случайный вставка 4 0.001870000000053551
6 LinkedList случайный вставка 5 0.0015884999993431848
7 LinkedList случайный вставка среднее 0.00229412000044249
8 LinkedList случайный поиск 1 6.800000846851617e-06
9 LinkedList случайный поиск 2 8.099999831756577e-06
10 LinkedList случайный поиск 3 5.40000110049732e-06
11 LinkedList случайный поиск 4 7.99999907030724e-06
12 LinkedList случайный поиск 5 8.600000001024455e-06
13 LinkedList случайный поиск среднее 7.380000170087442e-06
14 LinkedList случайный удаление 1 4.499997885432094e-06
15 LinkedList случайный удаление 2 4.19999923906289e-06
16 LinkedList случайный удаление 3 4.599998646881431e-06
17 LinkedList случайный удаление 4 3.5999983083456755e-06
18 LinkedList случайный удаление 5 5.800000508315861e-06
19 LinkedList случайный удаление среднее 4.53999891760759e-06
20 HashTable случайный вставка 1 0.013042499998846324
21 HashTable случайный вставка 2 0.010821200001373654
22 HashTable случайный вставка 3 0.01149979999900097
23 HashTable случайный вставка 4 0.012371500000881497
24 HashTable случайный вставка 5 0.01258369999777642
25 HashTable случайный вставка среднее 0.012063739999575773
26 HashTable случайный поиск 1 0.00011100000119768083
27 HashTable случайный поиск 2 0.00012829999832320027
28 HashTable случайный поиск 3 0.00010610000026645139
29 HashTable случайный поиск 4 0.00015050000001792796
30 HashTable случайный поиск 5 0.00011000000085914508
31 HashTable случайный поиск среднее 0.00012118000013288111
32 HashTable случайный удаление 1 5.6700002460274845e-05
33 HashTable случайный удаление 2 5.410000085248612e-05
34 HashTable случайный удаление 3 0.000103599999420112
35 HashTable случайный удаление 4 5.430000237538479e-05
36 HashTable случайный удаление 5 0.00012520000018412247
37 HashTable случайный удаление среднее 7.878000105847605e-05
38 BST случайный вставка 1 0.022040200001356425
39 BST случайный вставка 2 0.02033830000073067
40 BST случайный вставка 3 0.023025400001642993
41 BST случайный вставка 4 0.021383999999670777
42 BST случайный вставка 5 0.028112400003010407
43 BST случайный вставка среднее 0.022980060001282256
44 BST случайный поиск 1 0.0003209000024071429
45 BST случайный поиск 2 0.0002975999996124301
46 BST случайный поиск 3 0.0002946999993582722
47 BST случайный поиск 4 0.00029429999995045364
48 BST случайный поиск 5 0.0003305000027467031
49 BST случайный поиск среднее 0.0003076000008150004
50 BST случайный удаление 1 0.00019420000171521679
51 BST случайный удаление 2 0.00015970000094966963
52 BST случайный удаление 3 0.00017920000027515925
53 BST случайный удаление 4 0.00023010000222711824
54 BST случайный удаление 5 0.00015329999951063655
55 BST случайный удаление среднее 0.0001833000009355601
56 LinkedList отсортированный вставка 1 0.001523099999758415
57 LinkedList отсортированный вставка 2 0.0014689999989059288
58 LinkedList отсортированный вставка 3 0.0020084999996470287
59 LinkedList отсортированный вставка 4 0.001334699998551514
60 LinkedList отсортированный вставка 5 0.0013204000024416018
61 LinkedList отсортированный вставка среднее 0.0015311399998608976
62 LinkedList отсортированный поиск 1 6.199999916134402e-06
63 LinkedList отсортированный поиск 2 7.699996785959229e-06
64 LinkedList отсортированный поиск 3 1.049999991664663e-05
65 LinkedList отсортированный поиск 4 1.6500001947861165e-05
66 LinkedList отсортированный поиск 5 5.999998393235728e-06
67 LinkedList отсортированный поиск среднее 9.379999391967431e-06
68 LinkedList отсортированный удаление 1 2.8000031306874007e-06
69 LinkedList отсортированный удаление 2 4.300000000512227e-06
70 LinkedList отсортированный удаление 3 3.2999996619764715e-06
71 LinkedList отсортированный удаление 4 2.4999972083605826e-06
72 LinkedList отсортированный удаление 5 1.179999890155159e-05
73 LinkedList отсортированный удаление среднее 4.9399997806176545e-06
74 HashTable отсортированный вставка 1 0.00991520000025048
75 HashTable отсортированный вставка 2 0.010728299999755109
76 HashTable отсортированный вставка 3 0.010542399999394547
77 HashTable отсортированный вставка 4 0.009933500001352513
78 HashTable отсортированный вставка 5 0.010409299997263588
79 HashTable отсортированный вставка среднее 0.010305739999603247
80 HashTable отсортированный поиск 1 0.0002734000008786097
81 HashTable отсортированный поиск 2 0.00026509999952395447
82 HashTable отсортированный поиск 3 0.00010439999823574908
83 HashTable отсортированный поиск 4 0.00015179999900283292
84 HashTable отсортированный поиск 5 0.0002571000004536472
85 HashTable отсортированный поиск среднее 0.00021035999961895868
86 HashTable отсортированный удаление 1 5.560000136028975e-05
87 HashTable отсортированный удаление 2 0.00011499999891384505
88 HashTable отсортированный удаление 3 7.330000153160654e-05
89 HashTable отсортированный удаление 4 0.00010929999916697852
90 HashTable отсортированный удаление 5 5.330000203684904e-05
91 HashTable отсортированный удаление среднее 8.130000060191378e-05
92 BST отсортированный вставка 1 7.89803430000029
93 BST отсортированный вставка 2 10.66406199999983
94 BST отсортированный вставка 3 4.9183209000002535
95 BST отсортированный вставка 4 4.762505400001828
96 BST отсортированный вставка 5 4.723310599998513
97 BST отсортированный вставка среднее 6.593246640000143
98 BST отсортированный поиск 1 0.04402579999805312
99 BST отсортированный поиск 2 0.04447000000072876
100 BST отсортированный поиск 3 0.04556789999696775
101 BST отсортированный поиск 4 0.04493789999833098
102 BST отсортированный поиск 5 0.04496440000002622
103 BST отсортированный поиск среднее 0.044793199998821365
104 BST отсортированный удаление 1 0.021394800001871772
105 BST отсортированный удаление 2 0.02051940000092145
106 BST отсортированный удаление 3 0.021468799997819588
107 BST отсортированный удаление 4 0.02171239999734098
108 BST отсортированный удаление 5 0.01968499999929918
109 BST отсортированный удаление среднее 0.020956079999450594

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