diff --git a/konnovaea/experiments.py b/konnovaea/experiments.py index 295f53c..a09364b 100644 --- a/konnovaea/experiments.py +++ b/konnovaea/experiments.py @@ -225,8 +225,34 @@ def run_bst_experiments(records, mode_name): 'delete_avg': avg_delete, 'delete_all': delete_times } +def save_result_to_csv(all_results): + os.makedirs("docs/data", exist_ok=True) + + csv_rows = [] + csv_rows.append(["Структура", "Режим", "Операция", "Номер_замера", "Время(сек)"]) + for res in all_results: + struct = res['structure'] + 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['find_all']): + csv_rows.append([struct, mode, "поиск", i+1, t]) + + csv_rows.append([struct, "поиск", "среднее", res['find_avg']]) + + for i, t in enumerate(res['delete_all']): + csv_rows.append([struct, mode, "удаление", i+1, t]) + + csv_rows.append([struct, "удаление", "среднее", res['delete_avg']]) + + with open("docs/data/resurts.csv", "w", newline="", encoding="utf-8") as f: + writer = csv.writer(f) + writer.writerow(csv_rows) + print(f"\nрезультаты сохранены") \ No newline at end of file