[1] task 1 #180

Open
yanyaevaa wants to merge 7 commits from yanyaevaa/2026-rff_mp:task-1 into develop
3 changed files with 105 additions and 102 deletions
Showing only changes of commit 3714c824e7 - Show all commits

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -1,91 +1,91 @@
Структура,Режим,Операция,Время (сек)
LinkedList,Случайный,Вставка,1.4751020000003336
LinkedList,Отсортированный,Вставка,1.409119699999792
LinkedList,Случайный,Поиск,0.017900500000905595
LinkedList,Отсортированный,Поиск,0.01725550000082876
LinkedList,Случайный,Удаление,0.013612400000056368
LinkedList,Отсортированный,Удаление,0.011873999999806983
LinkedList,Случайный,Вставка,1.501550999999381
LinkedList,Отсортированный,Вставка,1.414307999999437
LinkedList,Случайный,Поиск,0.017685799999526353
LinkedList,Отсортированный,Поиск,0.017450199999075267
LinkedList,Случайный,Удаление,0.02419449999979406
LinkedList,Отсортированный,Удаление,0.022431700001106947
LinkedList,Случайный,Вставка,1.492261999999755
LinkedList,Отсортированный,Вставка,1.4051560999996582
LinkedList,Случайный,Поиск,0.017782200000510784
LinkedList,Отсортированный,Поиск,0.01736950000122306
LinkedList,Случайный,Удаление,0.02435729999888281
LinkedList,Отсортированный,Удаление,0.02374480000071344
LinkedList,Случайный,Вставка,1.5062662000000273
LinkedList,Отсортированный,Вставка,1.4150953000007576
LinkedList,Случайный,Поиск,0.017549800000779214
LinkedList,Отсортированный,Поиск,0.01746169999933045
LinkedList,Случайный,Удаление,0.024229800001194235
LinkedList,Отсортированный,Удаление,0.02227369999855
LinkedList,Случайный,Вставка,1.5289076999997633
LinkedList,Отсортированный,Вставка,1.411172299998725
LinkedList,Случайный,Поиск,0.017436600001019542
LinkedList,Отсортированный,Поиск,0.01663180000105058
LinkedList,Случайный,Удаление,0.023982900000191876
LinkedList,Отсортированный,Удаление,0.022638300000835443
HashTable,Случайный,Вставка,0.004706399999122368
HashTable,Отсортированный,Вставка,0.004241700000420678
HashTable,Случайный,Поиск,4.660000013245735e-05
HashTable,Отсортированный,Поиск,4.2300000131945126e-05
HashTable,Случайный,Удаление,2.8800001018680632e-05
HashTable,Отсортированный,Удаление,2.4300001314259134e-05
HashTable,Случайный,Вставка,0.004257600001437822
HashTable,Отсортированный,Вставка,0.0041388999998162035
HashTable,Случайный,Поиск,4.329999865149148e-05
HashTable,Отсортированный,Поиск,4.219999937049579e-05
HashTable,Случайный,Удаление,3.5000000934815034e-05
HashTable,Отсортированный,Удаление,3.199999991920777e-05
HashTable,Случайный,Вставка,0.004153400001086993
HashTable,Отсортированный,Вставка,0.00404770000022836
HashTable,Случайный,Поиск,4.3000000005122274e-05
HashTable,Отсортированный,Поиск,4.160000025876798e-05
HashTable,Случайный,Удаление,3.470000046945643e-05
HashTable,Отсортированный,Удаление,3.169999945384916e-05
HashTable,Случайный,Вставка,0.03171919999840611
HashTable,Отсортированный,Вставка,0.0047309999990829965
HashTable,Случайный,Поиск,0.00016730000061215833
HashTable,Отсортированный,Поиск,0.00016680000044289045
HashTable,Случайный,Удаление,0.00010769999971671496
HashTable,Отсортированный,Удаление,9.990000035031699e-05
HashTable,Случайный,Вставка,0.0044019999986630864
HashTable,Отсортированный,Вставка,0.004194899998765322
HashTable,Случайный,Поиск,0.00012280000009923242
HashTable,Отсортированный,Поиск,0.00011839999933727086
HashTable,Случайный,Удаление,8.170000000973232e-05
HashTable,Отсортированный,Удаление,8.010000055946875e-05
BinarySearchTree,Случайный,Вставка,0.016431300000476767
BinarySearchTree,Отсортированный,Вставка,7.383592899999712
BinarySearchTree,Случайный,Поиск,0.00029010000071139075
BinarySearchTree,Отсортированный,Поиск,0.058574799999405514
BinarySearchTree,Случайный,Удаление,0.00019500000053085387
BinarySearchTree,Отсортированный,Удаление,0.035139699999490404
BinarySearchTree,Случайный,Вставка,0.01684449999993376
BinarySearchTree,Отсортированный,Вставка,7.405079000000114
BinarySearchTree,Случайный,Поиск,0.0002845999988494441
BinarySearchTree,Отсортированный,Поиск,0.056575599999632686
BinarySearchTree,Случайный,Удаление,0.000167199999850709
BinarySearchTree,Отсортированный,Удаление,0.03582719999940309
BinarySearchTree,Случайный,Вставка,0.01675249999971129
BinarySearchTree,Отсортированный,Вставка,7.355735600000116
BinarySearchTree,Случайный,Поиск,0.00025770000138436444
BinarySearchTree,Отсортированный,Поиск,0.05426189999889175
BinarySearchTree,Случайный,Удаление,0.00015389999862236436
BinarySearchTree,Отсортированный,Удаление,0.03391879999981029
BinarySearchTree,Случайный,Вставка,0.016885099999853992
BinarySearchTree,Отсортированный,Вставка,7.338030799999615
BinarySearchTree,Случайный,Поиск,0.0002921999985119328
BinarySearchTree,Отсортированный,Поиск,0.0575857999992877
BinarySearchTree,Случайный,Удаление,0.0001720000000204891
BinarySearchTree,Отсортированный,Удаление,0.03530189999946742
BinarySearchTree,Случайный,Вставка,0.017169299999295617
BinarySearchTree,Отсортированный,Вставка,7.8378021999997145
BinarySearchTree,Случайный,Поиск,0.00032219999957305845
BinarySearchTree,Отсортированный,Поиск,0.06426450000071782
BinarySearchTree,Случайный,Удаление,0.00019729999985429458
BinarySearchTree,Отсортированный,Удаление,0.04044439999961469
Структура,Режим,Операция,Время (сек)
LinkedList,Случайный,Вставка,1.4511300000012852
LinkedList,Отсортированный,Вставка,1.3532131999963894
LinkedList,Случайный,Поиск,0.017212500002642628
LinkedList,Отсортированный,Поиск,0.01602149999962421
LinkedList,Случайный,Удаление,0.013075299997581169
LinkedList,Отсортированный,Удаление,0.011430300000938587
LinkedList,Случайный,Вставка,1.4284962000019732
LinkedList,Отсортированный,Вставка,1.3624571999971522
LinkedList,Случайный,Поиск,0.01644559999840567
LinkedList,Отсортированный,Поиск,0.015727300000435207
LinkedList,Случайный,Удаление,0.02287860000069486
LinkedList,Отсортированный,Удаление,0.02130629999737721
LinkedList,Случайный,Вставка,1.4398433999958797
LinkedList,Отсортированный,Вставка,1.3893881999974838
LinkedList,Случайный,Поиск,0.015201199996226933
LinkedList,Отсортированный,Поиск,0.015108999999938533
LinkedList,Случайный,Удаление,0.022406399999454152
LinkedList,Отсортированный,Удаление,0.020629700004064944
LinkedList,Случайный,Вставка,1.449974499999371
LinkedList,Отсортированный,Вставка,1.3638135000001057
LinkedList,Случайный,Поиск,0.015704599994933233
LinkedList,Отсортированный,Поиск,0.01463000000512693
LinkedList,Случайный,Удаление,0.022265100000367966
LinkedList,Отсортированный,Удаление,0.02105920000030892
LinkedList,Случайный,Вставка,1.4561604999980773
LinkedList,Отсортированный,Вставка,1.3799706000063452
LinkedList,Случайный,Поиск,0.016086200004792772
LinkedList,Отсортированный,Поиск,0.015208000004349742
LinkedList,Случайный,Удаление,0.022321299999020994
LinkedList,Отсортированный,Удаление,0.02096989999699872
HashTable,Случайный,Вставка,0.004762600001413375
HashTable,Отсортированный,Вставка,0.004286799994588364
HashTable,Случайный,Поиск,8.940000407164916e-05
HashTable,Отсортированный,Поиск,4.9100002797786146e-05
HashTable,Случайный,Удаление,4.640000406652689e-05
HashTable,Отсортированный,Удаление,3.0499999411404133e-05
HashTable,Случайный,Вставка,0.004430200002389029
HashTable,Отсортированный,Вставка,0.0042608000003383495
HashTable,Случайный,Поиск,9.210000280290842e-05
HashTable,Отсортированный,Поиск,7.370000093942508e-05
HashTable,Случайный,Удаление,7.31999971321784e-05
HashTable,Отсортированный,Удаление,6.399999983841553e-05
HashTable,Случайный,Вставка,0.0045229000024846755
HashTable,Отсортированный,Вставка,0.04055210000660736
HashTable,Случайный,Поиск,8.369999704882503e-05
HashTable,Отсортированный,Поиск,8.660000457894057e-05
HashTable,Случайный,Удаление,6.089999806135893e-05
HashTable,Отсортированный,Удаление,5.7999997807201e-05
HashTable,Случайный,Вставка,0.004763600001751911
HashTable,Отсортированный,Вставка,0.004424899998412002
HashTable,Случайный,Поиск,8.250000246334821e-05
HashTable,Отсортированный,Поиск,8.560000424040481e-05
HashTable,Случайный,Удаление,5.860000237589702e-05
HashTable,Отсортированный,Удаление,5.6599994422867894e-05
HashTable,Случайный,Вставка,0.004511299994192086
HashTable,Отсортированный,Вставка,0.004239499998220708
HashTable,Случайный,Поиск,8.509999315720052e-05
HashTable,Отсортированный,Поиск,9.129999671131372e-05
HashTable,Случайный,Удаление,6.379999831551686e-05
HashTable,Отсортированный,Удаление,6.130000110715628e-05
BinarySearchTree,Случайный,Вставка,0.01562519999424694
BinarySearchTree,Отсортированный,Вставка,7.336836000002222
BinarySearchTree,Случайный,Поиск,0.00026790000265464187
BinarySearchTree,Отсортированный,Поиск,0.06123769999976503
BinarySearchTree,Случайный,Удаление,0.00017079999815905467
BinarySearchTree,Отсортированный,Удаление,0.03255199999694014
BinarySearchTree,Случайный,Вставка,0.015844699999433942
BinarySearchTree,Отсортированный,Вставка,7.3568257999941125
BinarySearchTree,Случайный,Поиск,0.00026610000350046903
BinarySearchTree,Отсортированный,Поиск,0.0630747999966843
BinarySearchTree,Случайный,Удаление,0.0001599000024725683
BinarySearchTree,Отсортированный,Удаление,0.032988799997838214
BinarySearchTree,Случайный,Вставка,0.015961999997671228
BinarySearchTree,Отсортированный,Вставка,7.260040799999842
BinarySearchTree,Случайный,Поиск,0.0002677000011317432
BinarySearchTree,Отсортированный,Поиск,0.06220960000064224
BinarySearchTree,Случайный,Удаление,0.00017069999739760533
BinarySearchTree,Отсортированный,Удаление,0.03425799999968149
BinarySearchTree,Случайный,Вставка,0.015901699996902607
BinarySearchTree,Отсортированный,Вставка,7.299930900000618
BinarySearchTree,Случайный,Поиск,0.0002571000004536472
BinarySearchTree,Отсортированный,Поиск,0.06639849999919534
BinarySearchTree,Случайный,Удаление,0.0001795999996829778
BinarySearchTree,Отсортированный,Удаление,0.035809200002404395
BinarySearchTree,Случайный,Вставка,0.016659100001561455
BinarySearchTree,Отсортированный,Вставка,7.283139200000733
BinarySearchTree,Случайный,Поиск,0.0002609000002848916
BinarySearchTree,Отсортированный,Поиск,0.06249949999619275
BinarySearchTree,Случайный,Удаление,0.00016070000128820539
BinarySearchTree,Отсортированный,Удаление,0.033680200001981575

1 Структура Режим Операция Время (сек)
2 LinkedList Случайный Вставка 1.4511300000012852
3 LinkedList Отсортированный Вставка 1.3532131999963894
4 LinkedList Случайный Поиск 0.017212500002642628
5 LinkedList Отсортированный Поиск 0.01602149999962421
6 LinkedList Случайный Удаление 0.013075299997581169
7 LinkedList Отсортированный Удаление 0.011430300000938587
8 LinkedList Случайный Вставка 1.4284962000019732
9 LinkedList Отсортированный Вставка 1.3624571999971522
10 LinkedList Случайный Поиск 0.01644559999840567
11 LinkedList Отсортированный Поиск 0.015727300000435207
12 LinkedList Случайный Удаление 0.02287860000069486
13 LinkedList Отсортированный Удаление 0.02130629999737721
14 LinkedList Случайный Вставка 1.4398433999958797
15 LinkedList Отсортированный Вставка 1.3893881999974838
16 LinkedList Случайный Поиск 0.015201199996226933
17 LinkedList Отсортированный Поиск 0.015108999999938533
18 LinkedList Случайный Удаление 0.022406399999454152
19 LinkedList Отсортированный Удаление 0.020629700004064944
20 LinkedList Случайный Вставка 1.449974499999371
21 LinkedList Отсортированный Вставка 1.3638135000001057
22 LinkedList Случайный Поиск 0.015704599994933233
23 LinkedList Отсортированный Поиск 0.01463000000512693
24 LinkedList Случайный Удаление 0.022265100000367966
25 LinkedList Отсортированный Удаление 0.02105920000030892
26 LinkedList Случайный Вставка 1.4561604999980773
27 LinkedList Отсортированный Вставка 1.3799706000063452
28 LinkedList Случайный Поиск 0.016086200004792772
29 LinkedList Отсортированный Поиск 0.015208000004349742
30 LinkedList Случайный Удаление 0.022321299999020994
31 LinkedList Отсортированный Удаление 0.02096989999699872
32 HashTable Случайный Вставка 0.004762600001413375
33 HashTable Отсортированный Вставка 0.004286799994588364
34 HashTable Случайный Поиск 8.940000407164916e-05
35 HashTable Отсортированный Поиск 4.9100002797786146e-05
36 HashTable Случайный Удаление 4.640000406652689e-05
37 HashTable Отсортированный Удаление 3.0499999411404133e-05
38 HashTable Случайный Вставка 0.004430200002389029
39 HashTable Отсортированный Вставка 0.0042608000003383495
40 HashTable Случайный Поиск 9.210000280290842e-05
41 HashTable Отсортированный Поиск 7.370000093942508e-05
42 HashTable Случайный Удаление 7.31999971321784e-05
43 HashTable Отсортированный Удаление 6.399999983841553e-05
44 HashTable Случайный Вставка 0.0045229000024846755
45 HashTable Отсортированный Вставка 0.04055210000660736
46 HashTable Случайный Поиск 8.369999704882503e-05
47 HashTable Отсортированный Поиск 8.660000457894057e-05
48 HashTable Случайный Удаление 6.089999806135893e-05
49 HashTable Отсортированный Удаление 5.7999997807201e-05
50 HashTable Случайный Вставка 0.004763600001751911
51 HashTable Отсортированный Вставка 0.004424899998412002
52 HashTable Случайный Поиск 8.250000246334821e-05
53 HashTable Отсортированный Поиск 8.560000424040481e-05
54 HashTable Случайный Удаление 5.860000237589702e-05
55 HashTable Отсортированный Удаление 5.6599994422867894e-05
56 HashTable Случайный Вставка 0.004511299994192086
57 HashTable Отсортированный Вставка 0.004239499998220708
58 HashTable Случайный Поиск 8.509999315720052e-05
59 HashTable Отсортированный Поиск 9.129999671131372e-05
60 HashTable Случайный Удаление 6.379999831551686e-05
61 HashTable Отсортированный Удаление 6.130000110715628e-05
62 BinarySearchTree Случайный Вставка 0.01562519999424694
63 BinarySearchTree Отсортированный Вставка 7.336836000002222
64 BinarySearchTree Случайный Поиск 0.00026790000265464187
65 BinarySearchTree Отсортированный Поиск 0.06123769999976503
66 BinarySearchTree Случайный Удаление 0.00017079999815905467
67 BinarySearchTree Отсортированный Удаление 0.03255199999694014
68 BinarySearchTree Случайный Вставка 0.015844699999433942
69 BinarySearchTree Отсортированный Вставка 7.3568257999941125
70 BinarySearchTree Случайный Поиск 0.00026610000350046903
71 BinarySearchTree Отсортированный Поиск 0.0630747999966843
72 BinarySearchTree Случайный Удаление 0.0001599000024725683
73 BinarySearchTree Отсортированный Удаление 0.032988799997838214
74 BinarySearchTree Случайный Вставка 0.015961999997671228
75 BinarySearchTree Отсортированный Вставка 7.260040799999842
76 BinarySearchTree Случайный Поиск 0.0002677000011317432
77 BinarySearchTree Отсортированный Поиск 0.06220960000064224
78 BinarySearchTree Случайный Удаление 0.00017069999739760533
79 BinarySearchTree Отсортированный Удаление 0.03425799999968149
80 BinarySearchTree Случайный Вставка 0.015901699996902607
81 BinarySearchTree Отсортированный Вставка 7.299930900000618
82 BinarySearchTree Случайный Поиск 0.0002571000004536472
83 BinarySearchTree Отсортированный Поиск 0.06639849999919534
84 BinarySearchTree Случайный Удаление 0.0001795999996829778
85 BinarySearchTree Отсортированный Удаление 0.035809200002404395
86 BinarySearchTree Случайный Вставка 0.016659100001561455
87 BinarySearchTree Отсортированный Вставка 7.283139200000733
88 BinarySearchTree Случайный Поиск 0.0002609000002848916
89 BinarySearchTree Отсортированный Поиск 0.06249949999619275
90 BinarySearchTree Случайный Удаление 0.00016070000128820539
91 BinarySearchTree Отсортированный Удаление 0.033680200001981575

View File

@ -1,4 +1,5 @@
import time
from pathlib import Path
import random
import csv
import sys
@ -187,19 +188,20 @@ def task_C(structure_name,container, data):
end=time.perf_counter()
elapsed = end - start
return elapsed
conatiner_type=[None, [None]*1000, None]
results=[["Структура", "Режим", "Операция", "Время (сек)"]]
structures_name=["LinkedList", "HashTable", "BinarySearchTree"]
experiment_name=["Вставка", "Поиск", "Удаление"]
mode_of_data=["Случайный", "Отсортированный"]
records_sorted, records_shuffled = generate()
container_shuffled=[]
container_sorted=[]
container_shuffled=[]#хранилище структур со случайными данными
container_sorted=[]#хранилище структур с отсортированными данными
names=[record[0] for record in records_shuffled]
#Данные для задания Б
random_names=random.sample(names, 100)
missing_names=[f"None_{i}" for i in range(10)]
names_for_test=random_names+missing_names
#Данные для задания В
names_to_delete=random.sample(names,50)
for i in range(3):
@ -219,8 +221,7 @@ for i in range(3):
result_sorted = task_B(structures_name[i], container_sorted[i], names_for_test)
results.append([structures_name[i], mode_of_data[1], experiment_name[1], result_sorted])
print(
f"{structures_name[i]}: Время выполнения для 110 записей для {mode_of_data[0]}: {result_shuffled} {mode_of_data[1]}: {result_sorted} ")
print(f"{structures_name[i]}: Время нахождения 110 записей для {mode_of_data[0]}: {result_shuffled} {mode_of_data[1]}: {result_sorted} ")
#Реализация задания В
shuffled = container_shuffled[i]
sorted = container_sorted[i]
@ -229,12 +230,13 @@ for i in range(3):
result_sorted = task_C(structures_name[i], sorted, names_to_delete)
results.append([structures_name[i], mode_of_data[1], experiment_name[2], result_sorted])
print(
f"{structures_name[i]}: Время удаления 50 записей для {mode_of_data[0]}: {result_shuffled} {mode_of_data[1]}: {result_sorted}")
print(f"{structures_name[i]}: Время удаления 50 записей для {mode_of_data[0]}: {result_shuffled} {mode_of_data[1]}: {result_sorted}")
#4. Сохранение результатов
csv_file=r"C:\Users\Андрей\Desktop\2026-rff_mp\YanyaevAA\docs\data\results.csv"
with open(r"C:\Users\Андрей\Desktop\2026-rff_mp\YanyaevAA\docs\data\results.csv", "w", newline="",encoding="utf-8") as f:
#4. Сохранение результатов\
current_dir=Path.cwd()
target=current_dir.parent/"docs"/"data"
csv_file=target /"results.csv"
with open(csv_file, "w", newline="",encoding="utf-8-sig") as f:
writer = csv.writer(f)
writer.writerows(results)
@ -249,5 +251,6 @@ for i, experiment in enumerate(experiment_name):
axes[i].set_ylabel("Среднее время (сек)")
axes[i].set_yscale("log")
plt.tight_layout()
plt.savefig(r"C:\Users\Андрей\Desktop\2026-rff_mp\YanyaevAA\docs\data\graphics.png", dpi=300, bbox_inches='tight')
png_file= target/"graphics.png"
plt.savefig(png_file, dpi=300, bbox_inches='tight')
plt.show()