[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.3104410000014468
LinkedList,Случайный,Вставка,1.370557700000063
LinkedList,Отсортированный,Вставка,1.3163567000010516
LinkedList,Случайный,Вставка,1.3726127999980235
LinkedList,Отсортированный,Вставка,1.3090860000011162
LinkedList,Случайный,Вставка,1.4184881000037421
LinkedList,Отсортированный,Вставка,1.3065769000022556
LinkedList,Случайный,Вставка,1.4324161999975331
LinkedList,Отсортированный,Вставка,1.302870300001814
HashTable,Случайный,Вставка,0.005242100000032224
HashTable,Отсортированный,Вставка,0.004384200001368299
HashTable,Случайный,Вставка,0.004452300003322307
HashTable,Отсортированный,Вставка,0.004285000002710149
HashTable,Случайный,Вставка,0.0043441999951028265
HashTable,Отсортированный,Вставка,0.004188300001260359
HashTable,Случайный,Вставка,0.031318500004999805
HashTable,Отсортированный,Вставка,0.004467499995371327
HashTable,Случайный,Вставка,0.004497000001720153
HashTable,Отсортированный,Вставка,0.00432149999687681
BinarySearchTree,Случайный,Вставка,0.016076799998700153
BinarySearchTree,Отсортированный,Вставка,6.949058300000615
BinarySearchTree,Случайный,Вставка,0.015741900002467446
BinarySearchTree,Отсортированный,Вставка,7.462577500002226
BinarySearchTree,Случайный,Вставка,0.0162205999949947
BinarySearchTree,Отсортированный,Вставка,7.46889309999824
BinarySearchTree,Случайный,Вставка,0.016196600001421757
BinarySearchTree,Отсортированный,Вставка,7.423307500001101
BinarySearchTree,Случайный,Вставка,0.015813499994692393
BinarySearchTree,Отсортированный,Вставка,7.387505999999121
LinkedList,Случайный,Поиск,0.016872100000909995
LinkedList,Отсортированный,Поиск,0.016344399999070447
LinkedList,Случайный,Поиск,0.017215699997905176
LinkedList,Отсортированный,Поиск,0.016057599998021033
LinkedList,Случайный,Поиск,0.017128699997556396
LinkedList,Отсортированный,Поиск,0.016144599998369813
LinkedList,Случайный,Поиск,0.01743249999708496
LinkedList,Отсортированный,Поиск,0.016194900003029034
LinkedList,Случайный,Поиск,0.017249500000616536
LinkedList,Отсортированный,Поиск,0.01595439999800874
HashTable,Случайный,Поиск,0.00018319999799132347
HashTable,Отсортированный,Поиск,0.0001588000013725832
HashTable,Случайный,Поиск,3.9999998989515007e-05
HashTable,Отсортированный,Поиск,3.5400000342633575e-05
HashTable,Случайный,Поиск,3.580000338843092e-05
HashTable,Отсортированный,Поиск,3.4199998481199145e-05
HashTable,Случайный,Поиск,3.5099998058285564e-05
HashTable,Отсортированный,Поиск,3.4199998481199145e-05
HashTable,Случайный,Поиск,3.5099998058285564e-05
HashTable,Отсортированный,Поиск,3.409999771974981e-05
BinarySearchTree,Случайный,Поиск,0.00023979999969014898
BinarySearchTree,Отсортированный,Поиск,0.06078229999548057
BinarySearchTree,Случайный,Поиск,0.0002549999990151264
BinarySearchTree,Отсортированный,Поиск,0.05937499999708962
BinarySearchTree,Случайный,Поиск,0.0005522999999811873
BinarySearchTree,Отсортированный,Поиск,0.057940200000302866
BinarySearchTree,Случайный,Поиск,0.00025070000265259296
BinarySearchTree,Отсортированный,Поиск,0.060181100001500454
BinarySearchTree,Случайный,Поиск,0.0002657000004546717
BinarySearchTree,Отсортированный,Поиск,0.05845009999757167
LinkedList,Случайный,Удаление,0.010934500001894776
LinkedList,Отсортированный,Удаление,0.011079000003519468
LinkedList,Случайный,Удаление,0.021408699998573866
LinkedList,Отсортированный,Удаление,0.01955590000579832
LinkedList,Случайный,Удаление,0.020861200006038416
LinkedList,Отсортированный,Удаление,0.020471800002269447
LinkedList,Случайный,Удаление,0.02055800000380259
LinkedList,Отсортированный,Удаление,0.01997020000271732
LinkedList,Случайный,Удаление,0.021316799997293856
LinkedList,Отсортированный,Удаление,0.02057559999957448
HashTable,Случайный,Удаление,9.029999637277797e-05
HashTable,Отсортированный,Удаление,8.179999713320285e-05
HashTable,Случайный,Удаление,6.199999916134402e-05
HashTable,Отсортированный,Удаление,5.950000195298344e-05
HashTable,Случайный,Удаление,2.6599998818710446e-05
HashTable,Отсортированный,Удаление,2.6399997295811772e-05
HashTable,Случайный,Удаление,2.6500005333218724e-05
HashTable,Отсортированный,Удаление,2.630000381032005e-05
HashTable,Случайный,Удаление,2.630000381032005e-05
HashTable,Отсортированный,Удаление,2.6200003048870713e-05
BinarySearchTree,Случайный,Удаление,0.00017410000145900995
BinarySearchTree,Отсортированный,Удаление,0.03420480000204407
BinarySearchTree,Случайный,Удаление,0.00016069999401224777
BinarySearchTree,Отсортированный,Удаление,0.03399109999736538
BinarySearchTree,Случайный,Удаление,0.00016940000205067918
BinarySearchTree,Отсортированный,Удаление,0.03377170000021579
BinarySearchTree,Случайный,Удаление,0.00018689999706111848
BinarySearchTree,Отсортированный,Удаление,0.033754900003259536
BinarySearchTree,Случайный,Удаление,0.0001664000010350719
BinarySearchTree,Отсортированный,Удаление,0.03359389999968698
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

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()
elapsed = end - start
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 случайных записей
def task_B(structure_name,container, data):
@ -191,22 +172,6 @@ def task_B(structure_name,container, data):
elapsed = end - start
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 случайных чисел
def task_C(structure_name,container, data):
start=time.perf_counter()
@ -222,20 +187,50 @@ 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=[]
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)
print("Результаты задания В")
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):
shuffled=container_shuffled[i]
sorted=container_sorted[i]
result_shuffled=task_C(structures_name[i], shuffled, names_to_delete)
# Реализация задания А
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]
sorted = container_sorted[i]
result_shuffled = task_C(structures_name[i], shuffled, names_to_delete)
results.append([structures_name[i], mode_of_data[0], experiment_name[2], result_shuffled])
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"