diff --git a/YanyaevAA/docs/data/graphics.png b/YanyaevAA/docs/data/graphics.png index 61ec71c..acb3722 100644 Binary files a/YanyaevAA/docs/data/graphics.png and b/YanyaevAA/docs/data/graphics.png differ diff --git a/YanyaevAA/docs/data/results.csv b/YanyaevAA/docs/data/results.csv index a6d7226..4ccf6b9 100644 --- a/YanyaevAA/docs/data/results.csv +++ b/YanyaevAA/docs/data/results.csv @@ -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 diff --git a/YanyaevAA/task1/[1].py b/YanyaevAA/task1/[1].py index 545014d..74b83f2 100644 --- a/YanyaevAA/task1/[1].py +++ b/YanyaevAA/task1/[1].py @@ -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() \ No newline at end of file