[1] task 1 #180

Open
yanyaevaa wants to merge 7 commits from yanyaevaa/2026-rff_mp:task-1 into develop
3 changed files with 125 additions and 130 deletions
Showing only changes of commit 033419ac3f - Show all commits

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

View File

@ -1,91 +1,91 @@
Структура,Режим,Операция,Время (сек) Структура,Режим,Операция,Время (сек)
LinkedList,Случайный,Вставка,1.3571506999942358 LinkedList,Случайный,Вставка,1.4751020000003336
LinkedList,Отсортированный,Вставка,1.3104410000014468 LinkedList,Отсортированный,Вставка,1.409119699999792
LinkedList,Случайный,Вставка,1.370557700000063 LinkedList,Случайный,Поиск,0.017900500000905595
LinkedList,Отсортированный,Вставка,1.3163567000010516 LinkedList,Отсортированный,Поиск,0.01725550000082876
LinkedList,Случайный,Вставка,1.3726127999980235 LinkedList,Случайный,Удаление,0.013612400000056368
LinkedList,Отсортированный,Вставка,1.3090860000011162 LinkedList,Отсортированный,Удаление,0.011873999999806983
LinkedList,Случайный,Вставка,1.4184881000037421 LinkedList,Случайный,Вставка,1.501550999999381
LinkedList,Отсортированный,Вставка,1.3065769000022556 LinkedList,Отсортированный,Вставка,1.414307999999437
LinkedList,Случайный,Вставка,1.4324161999975331 LinkedList,Случайный,Поиск,0.017685799999526353
LinkedList,Отсортированный,Вставка,1.302870300001814 LinkedList,Отсортированный,Поиск,0.017450199999075267
HashTable,Случайный,Вставка,0.005242100000032224 LinkedList,Случайный,Удаление,0.02419449999979406
HashTable,Отсортированный,Вставка,0.004384200001368299 LinkedList,Отсортированный,Удаление,0.022431700001106947
HashTable,Случайный,Вставка,0.004452300003322307 LinkedList,Случайный,Вставка,1.492261999999755
HashTable,Отсортированный,Вставка,0.004285000002710149 LinkedList,Отсортированный,Вставка,1.4051560999996582
HashTable,Случайный,Вставка,0.0043441999951028265 LinkedList,Случайный,Поиск,0.017782200000510784
HashTable,Отсортированный,Вставка,0.004188300001260359 LinkedList,Отсортированный,Поиск,0.01736950000122306
HashTable,Случайный,Вставка,0.031318500004999805 LinkedList,Случайный,Удаление,0.02435729999888281
HashTable,Отсортированный,Вставка,0.004467499995371327 LinkedList,Отсортированный,Удаление,0.02374480000071344
HashTable,Случайный,Вставка,0.004497000001720153 LinkedList,Случайный,Вставка,1.5062662000000273
HashTable,Отсортированный,Вставка,0.00432149999687681 LinkedList,Отсортированный,Вставка,1.4150953000007576
BinarySearchTree,Случайный,Вставка,0.016076799998700153 LinkedList,Случайный,Поиск,0.017549800000779214
BinarySearchTree,Отсортированный,Вставка,6.949058300000615 LinkedList,Отсортированный,Поиск,0.01746169999933045
BinarySearchTree,Случайный,Вставка,0.015741900002467446 LinkedList,Случайный,Удаление,0.024229800001194235
BinarySearchTree,Отсортированный,Вставка,7.462577500002226 LinkedList,Отсортированный,Удаление,0.02227369999855
BinarySearchTree,Случайный,Вставка,0.0162205999949947 LinkedList,Случайный,Вставка,1.5289076999997633
BinarySearchTree,Отсортированный,Вставка,7.46889309999824 LinkedList,Отсортированный,Вставка,1.411172299998725
BinarySearchTree,Случайный,Вставка,0.016196600001421757 LinkedList,Случайный,Поиск,0.017436600001019542
BinarySearchTree,Отсортированный,Вставка,7.423307500001101 LinkedList,Отсортированный,Поиск,0.01663180000105058
BinarySearchTree,Случайный,Вставка,0.015813499994692393 LinkedList,Случайный,Удаление,0.023982900000191876
BinarySearchTree,Отсортированный,Вставка,7.387505999999121 LinkedList,Отсортированный,Удаление,0.022638300000835443
LinkedList,Случайный,Поиск,0.016872100000909995 HashTable,Случайный,Вставка,0.004706399999122368
LinkedList,Отсортированный,Поиск,0.016344399999070447 HashTable,Отсортированный,Вставка,0.004241700000420678
LinkedList,Случайный,Поиск,0.017215699997905176 HashTable,Случайный,Поиск,4.660000013245735e-05
LinkedList,Отсортированный,Поиск,0.016057599998021033 HashTable,Отсортированный,Поиск,4.2300000131945126e-05
LinkedList,Случайный,Поиск,0.017128699997556396 HashTable,Случайный,Удаление,2.8800001018680632e-05
LinkedList,Отсортированный,Поиск,0.016144599998369813 HashTable,Отсортированный,Удаление,2.4300001314259134e-05
LinkedList,Случайный,Поиск,0.01743249999708496 HashTable,Случайный,Вставка,0.004257600001437822
LinkedList,Отсортированный,Поиск,0.016194900003029034 HashTable,Отсортированный,Вставка,0.0041388999998162035
LinkedList,Случайный,Поиск,0.017249500000616536 HashTable,Случайный,Поиск,4.329999865149148e-05
LinkedList,Отсортированный,Поиск,0.01595439999800874 HashTable,Отсортированный,Поиск,4.219999937049579e-05
HashTable,Случайный,Поиск,0.00018319999799132347 HashTable,Случайный,Удаление,3.5000000934815034e-05
HashTable,Отсортированный,Поиск,0.0001588000013725832 HashTable,Отсортированный,Удаление,3.199999991920777e-05
HashTable,Случайный,Поиск,3.9999998989515007e-05 HashTable,Случайный,Вставка,0.004153400001086993
HashTable,Отсортированный,Поиск,3.5400000342633575e-05 HashTable,Отсортированный,Вставка,0.00404770000022836
HashTable,Случайный,Поиск,3.580000338843092e-05 HashTable,Случайный,Поиск,4.3000000005122274e-05
HashTable,Отсортированный,Поиск,3.4199998481199145e-05 HashTable,Отсортированный,Поиск,4.160000025876798e-05
HashTable,Случайный,Поиск,3.5099998058285564e-05 HashTable,Случайный,Удаление,3.470000046945643e-05
HashTable,Отсортированный,Поиск,3.4199998481199145e-05 HashTable,Отсортированный,Удаление,3.169999945384916e-05
HashTable,Случайный,Поиск,3.5099998058285564e-05 HashTable,Случайный,Вставка,0.03171919999840611
HashTable,Отсортированный,Поиск,3.409999771974981e-05 HashTable,Отсортированный,Вставка,0.0047309999990829965
BinarySearchTree,Случайный,Поиск,0.00023979999969014898 HashTable,Случайный,Поиск,0.00016730000061215833
BinarySearchTree,Отсортированный,Поиск,0.06078229999548057 HashTable,Отсортированный,Поиск,0.00016680000044289045
BinarySearchTree,Случайный,Поиск,0.0002549999990151264 HashTable,Случайный,Удаление,0.00010769999971671496
BinarySearchTree,Отсортированный,Поиск,0.05937499999708962 HashTable,Отсортированный,Удаление,9.990000035031699e-05
BinarySearchTree,Случайный,Поиск,0.0005522999999811873 HashTable,Случайный,Вставка,0.0044019999986630864
BinarySearchTree,Отсортированный,Поиск,0.057940200000302866 HashTable,Отсортированный,Вставка,0.004194899998765322
BinarySearchTree,Случайный,Поиск,0.00025070000265259296 HashTable,Случайный,Поиск,0.00012280000009923242
BinarySearchTree,Отсортированный,Поиск,0.060181100001500454 HashTable,Отсортированный,Поиск,0.00011839999933727086
BinarySearchTree,Случайный,Поиск,0.0002657000004546717 HashTable,Случайный,Удаление,8.170000000973232e-05
BinarySearchTree,Отсортированный,Поиск,0.05845009999757167 HashTable,Отсортированный,Удаление,8.010000055946875e-05
LinkedList,Случайный,Удаление,0.010934500001894776 BinarySearchTree,Случайный,Вставка,0.016431300000476767
LinkedList,Отсортированный,Удаление,0.011079000003519468 BinarySearchTree,Отсортированный,Вставка,7.383592899999712
LinkedList,Случайный,Удаление,0.021408699998573866 BinarySearchTree,Случайный,Поиск,0.00029010000071139075
LinkedList,Отсортированный,Удаление,0.01955590000579832 BinarySearchTree,Отсортированный,Поиск,0.058574799999405514
LinkedList,Случайный,Удаление,0.020861200006038416 BinarySearchTree,Случайный,Удаление,0.00019500000053085387
LinkedList,Отсортированный,Удаление,0.020471800002269447 BinarySearchTree,Отсортированный,Удаление,0.035139699999490404
LinkedList,Случайный,Удаление,0.02055800000380259 BinarySearchTree,Случайный,Вставка,0.01684449999993376
LinkedList,Отсортированный,Удаление,0.01997020000271732 BinarySearchTree,Отсортированный,Вставка,7.405079000000114
LinkedList,Случайный,Удаление,0.021316799997293856 BinarySearchTree,Случайный,Поиск,0.0002845999988494441
LinkedList,Отсортированный,Удаление,0.02057559999957448 BinarySearchTree,Отсортированный,Поиск,0.056575599999632686
HashTable,Случайный,Удаление,9.029999637277797e-05 BinarySearchTree,Случайный,Удаление,0.000167199999850709
HashTable,Отсортированный,Удаление,8.179999713320285e-05 BinarySearchTree,Отсортированный,Удаление,0.03582719999940309
HashTable,Случайный,Удаление,6.199999916134402e-05 BinarySearchTree,Случайный,Вставка,0.01675249999971129
HashTable,Отсортированный,Удаление,5.950000195298344e-05 BinarySearchTree,Отсортированный,Вставка,7.355735600000116
HashTable,Случайный,Удаление,2.6599998818710446e-05 BinarySearchTree,Случайный,Поиск,0.00025770000138436444
HashTable,Отсортированный,Удаление,2.6399997295811772e-05 BinarySearchTree,Отсортированный,Поиск,0.05426189999889175
HashTable,Случайный,Удаление,2.6500005333218724e-05 BinarySearchTree,Случайный,Удаление,0.00015389999862236436
HashTable,Отсортированный,Удаление,2.630000381032005e-05 BinarySearchTree,Отсортированный,Удаление,0.03391879999981029
HashTable,Случайный,Удаление,2.630000381032005e-05 BinarySearchTree,Случайный,Вставка,0.016885099999853992
HashTable,Отсортированный,Удаление,2.6200003048870713e-05 BinarySearchTree,Отсортированный,Вставка,7.338030799999615
BinarySearchTree,Случайный,Удаление,0.00017410000145900995 BinarySearchTree,Случайный,Поиск,0.0002921999985119328
BinarySearchTree,Отсортированный,Удаление,0.03420480000204407 BinarySearchTree,Отсортированный,Поиск,0.0575857999992877
BinarySearchTree,Случайный,Удаление,0.00016069999401224777 BinarySearchTree,Случайный,Удаление,0.0001720000000204891
BinarySearchTree,Отсортированный,Удаление,0.03399109999736538 BinarySearchTree,Отсортированный,Удаление,0.03530189999946742
BinarySearchTree,Случайный,Удаление,0.00016940000205067918 BinarySearchTree,Случайный,Вставка,0.017169299999295617
BinarySearchTree,Отсортированный,Удаление,0.03377170000021579 BinarySearchTree,Отсортированный,Вставка,7.8378021999997145
BinarySearchTree,Случайный,Удаление,0.00018689999706111848 BinarySearchTree,Случайный,Поиск,0.00032219999957305845
BinarySearchTree,Отсортированный,Удаление,0.033754900003259536 BinarySearchTree,Отсортированный,Поиск,0.06426450000071782
BinarySearchTree,Случайный,Удаление,0.0001664000010350719 BinarySearchTree,Случайный,Удаление,0.00019729999985429458
BinarySearchTree,Отсортированный,Удаление,0.03359389999968698 BinarySearchTree,Отсортированный,Удаление,0.04044439999961469

1 Структура Режим Операция Время (сек)
2 LinkedList Случайный Вставка 1.4751020000003336
3 LinkedList Отсортированный Вставка 1.409119699999792
4 LinkedList Случайный Поиск 0.017900500000905595
5 LinkedList Отсортированный Поиск 0.01725550000082876
6 LinkedList Случайный Удаление 0.013612400000056368
7 LinkedList Отсортированный Удаление 0.011873999999806983
8 LinkedList Случайный Вставка 1.501550999999381
9 LinkedList Отсортированный Вставка 1.414307999999437
10 LinkedList Случайный Поиск 0.017685799999526353
11 LinkedList Отсортированный Поиск 0.017450199999075267
12 LinkedList Случайный Удаление 0.02419449999979406
13 LinkedList Отсортированный Удаление 0.022431700001106947
14 LinkedList Случайный Вставка 1.492261999999755
15 LinkedList Отсортированный Вставка 1.4051560999996582
16 LinkedList Случайный Поиск 0.017782200000510784
17 LinkedList Отсортированный Поиск 0.01736950000122306
18 LinkedList Случайный Удаление 0.02435729999888281
19 LinkedList Отсортированный Удаление 0.02374480000071344
20 LinkedList Случайный Вставка 1.5062662000000273
21 LinkedList Отсортированный Вставка 1.4150953000007576
22 LinkedList Случайный Поиск 0.017549800000779214
23 LinkedList Отсортированный Поиск 0.01746169999933045
24 LinkedList Случайный Удаление 0.024229800001194235
25 LinkedList Отсортированный Удаление 0.02227369999855
26 LinkedList Случайный Вставка 1.5289076999997633
27 LinkedList Отсортированный Вставка 1.411172299998725
28 LinkedList Случайный Поиск 0.017436600001019542
29 LinkedList Отсортированный Поиск 0.01663180000105058
30 LinkedList Случайный Удаление 0.023982900000191876
31 LinkedList Отсортированный Удаление 0.022638300000835443
32 HashTable Случайный Вставка 0.004706399999122368
33 HashTable Отсортированный Вставка 0.004241700000420678
34 HashTable Случайный Поиск 4.660000013245735e-05
35 HashTable Отсортированный Поиск 4.2300000131945126e-05
36 HashTable Случайный Удаление 2.8800001018680632e-05
37 HashTable Отсортированный Удаление 2.4300001314259134e-05
38 HashTable Случайный Вставка 0.004257600001437822
39 HashTable Отсортированный Вставка 0.0041388999998162035
40 HashTable Случайный Поиск 4.329999865149148e-05
41 HashTable Отсортированный Поиск 4.219999937049579e-05
42 HashTable Случайный Удаление 3.5000000934815034e-05
43 HashTable Отсортированный Удаление 3.199999991920777e-05
44 HashTable Случайный Вставка 0.004153400001086993
45 HashTable Отсортированный Вставка 0.00404770000022836
46 HashTable Случайный Поиск 4.3000000005122274e-05
47 HashTable Отсортированный Поиск 4.160000025876798e-05
48 HashTable Случайный Удаление 3.470000046945643e-05
49 HashTable Отсортированный Удаление 3.169999945384916e-05
50 HashTable Случайный Вставка 0.03171919999840611
51 HashTable Отсортированный Вставка 0.0047309999990829965
52 HashTable Случайный Поиск 0.00016730000061215833
53 HashTable Отсортированный Поиск 0.00016680000044289045
54 HashTable Случайный Удаление 0.00010769999971671496
55 HashTable Отсортированный Удаление 9.990000035031699e-05
56 HashTable Случайный Вставка 0.0044019999986630864
57 HashTable Отсортированный Вставка 0.004194899998765322
58 HashTable Случайный Поиск 0.00012280000009923242
59 HashTable Отсортированный Поиск 0.00011839999933727086
60 HashTable Случайный Удаление 8.170000000973232e-05
61 HashTable Отсортированный Удаление 8.010000055946875e-05
62 BinarySearchTree Случайный Вставка 0.016431300000476767
63 BinarySearchTree Отсортированный Вставка 7.383592899999712
64 BinarySearchTree Случайный Поиск 0.00029010000071139075
65 BinarySearchTree Отсортированный Поиск 0.058574799999405514
66 BinarySearchTree Случайный Удаление 0.00019500000053085387
67 BinarySearchTree Отсортированный Удаление 0.035139699999490404
68 BinarySearchTree Случайный Вставка 0.01684449999993376
69 BinarySearchTree Отсортированный Вставка 7.405079000000114
70 BinarySearchTree Случайный Поиск 0.0002845999988494441
71 BinarySearchTree Отсортированный Поиск 0.056575599999632686
72 BinarySearchTree Случайный Удаление 0.000167199999850709
73 BinarySearchTree Отсортированный Удаление 0.03582719999940309
74 BinarySearchTree Случайный Вставка 0.01675249999971129
75 BinarySearchTree Отсортированный Вставка 7.355735600000116
76 BinarySearchTree Случайный Поиск 0.00025770000138436444
77 BinarySearchTree Отсортированный Поиск 0.05426189999889175
78 BinarySearchTree Случайный Удаление 0.00015389999862236436
79 BinarySearchTree Отсортированный Удаление 0.03391879999981029
80 BinarySearchTree Случайный Вставка 0.016885099999853992
81 BinarySearchTree Отсортированный Вставка 7.338030799999615
82 BinarySearchTree Случайный Поиск 0.0002921999985119328
83 BinarySearchTree Отсортированный Поиск 0.0575857999992877
84 BinarySearchTree Случайный Удаление 0.0001720000000204891
85 BinarySearchTree Отсортированный Удаление 0.03530189999946742
86 BinarySearchTree Случайный Вставка 0.017169299999295617
87 BinarySearchTree Отсортированный Вставка 7.8378021999997145
88 BinarySearchTree Случайный Поиск 0.00032219999957305845
89 BinarySearchTree Отсортированный Поиск 0.06426450000071782
90 BinarySearchTree Случайный Удаление 0.00019729999985429458
91 BinarySearchTree Отсортированный Удаление 0.04044439999961469

View File

@ -155,25 +155,6 @@ def task_A(structure_name, data):
end = time.perf_counter() end = time.perf_counter()
elapsed = end - start elapsed = end - start
return elapsed, container return elapsed, container
results=[["Структура", "Режим", "Операция", "Время (сек)"]]
structures_name=["LinkedList", "HashTable", "BinarySearchTree"]
experiment_name=["Вставка", "Поиск", "Удаление"]
mode_of_data=["Случайный", "Отсортированный"]
records_sorted, records_shuffled = generate()
container_shuffled=[]
container_sorted=[]
for i in range(3):
container_shuffled.append(task_A(structures_name[i], records_shuffled)[1])
container_sorted.append(task_A(structures_name[i], records_sorted)[1])
for j in range(5):
result_shuffled = task_A(structures_name[i], records_shuffled)[0]
results.append([structures_name[i], mode_of_data[0], experiment_name[0], result_shuffled])
result_sorted= task_A(structures_name[i], records_sorted)[0]
results.append([structures_name[i], mode_of_data[1], experiment_name[0], result_sorted])
print(f"{structures_name[i]}: Время вставки всех записей {mode_of_data[0]}: {result_shuffled} {mode_of_data[1]}: {result_sorted}")
#Б. Поиск 100 случайных записей #Б. Поиск 100 случайных записей
def task_B(structure_name,container, data): def task_B(structure_name,container, data):
@ -191,22 +172,6 @@ def task_B(structure_name,container, data):
elapsed = end - start elapsed = end - start
return elapsed return elapsed
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
print("Результаты задания Б")
for i in range(3):
for j in range(5):
result_shuffled = task_B(structures_name[i], container_shuffled[i], names_for_test)
results.append([structures_name[i], mode_of_data[0], experiment_name[1], result_shuffled])
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} ")
#В. Удаление 50 случайных чисел #В. Удаление 50 случайных чисел
def task_C(structure_name,container, data): def task_C(structure_name,container, data):
start=time.perf_counter() start=time.perf_counter()
@ -222,12 +187,41 @@ def task_C(structure_name,container, data):
end=time.perf_counter() end=time.perf_counter()
elapsed = end - start elapsed = end - start
return elapsed 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=[]
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) names_to_delete=random.sample(names,50)
print("Результаты задания В")
for i in range(3): for i in range(3):
container_shuffled.append(task_A(structures_name[i], records_shuffled)[1])
container_sorted.append(task_A(structures_name[i], records_sorted)[1])
for j in range(5): for j in range(5):
# Реализация задания А
result_shuffled = task_A(structures_name[i], records_shuffled)[0]
results.append([structures_name[i], mode_of_data[0], experiment_name[0], result_shuffled])
result_sorted= task_A(structures_name[i], records_sorted)[0]
results.append([structures_name[i], mode_of_data[1], experiment_name[0], result_sorted])
print(f"{structures_name[i]}: Время вставки всех записей {mode_of_data[0]}: {result_shuffled} {mode_of_data[1]}: {result_sorted}")
# Реализация задания Б
result_shuffled = task_B(structures_name[i], container_shuffled[i], names_for_test)
results.append([structures_name[i], mode_of_data[0], experiment_name[1], result_shuffled])
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} ")
#Реализация задания В
shuffled = container_shuffled[i] shuffled = container_shuffled[i]
sorted = container_sorted[i] sorted = container_sorted[i]
result_shuffled = task_C(structures_name[i], shuffled, names_to_delete) result_shuffled = task_C(structures_name[i], shuffled, names_to_delete)
@ -235,7 +229,8 @@ for i in range(3):
result_sorted = task_C(structures_name[i], sorted, names_to_delete) 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]) 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. Сохранение результатов #4. Сохранение результатов
csv_file=r"C:\Users\Андрей\Desktop\2026-rff_mp\YanyaevAA\docs\data\results.csv" csv_file=r"C:\Users\Андрей\Desktop\2026-rff_mp\YanyaevAA\docs\data\results.csv"