
import matplotlib.pyplot as plt
import os

os.makedirs('docs/data', exist_ok=True)

data = [
    ['LinkedList', 'случайный', 0.0037545, 0.00000962, 0.0000079],
    ['HashTable', 'случайный', 0.015088, 0.0001646, 0.00009824],
    ['BST', 'случайный', 0.026280, 0.0002592, 0.00016984],
    ['LinkedList', 'отсортированный', 0.0017544, 0.00000858, 0.00000294],
    ['HashTable', 'отсортированный', 0.011369, 0.00014016, 0.00005878],
    ['BST', 'отсортированный', 4.930788, 0.047126, 0.023013],
]

fig, ax = plt.subplots(figsize=(12, 5))
ax.axis('tight')
ax.axis('off')

columns = ['Структура', 'Режим', 'Вставка (10000)', 'Поиск (110)', 'Удаление (50)']
table = ax.table(cellText=data, colLabels=columns, loc='center', cellLoc='center')

table.auto_set_font_size(False)
table.set_fontsize(10)
table.scale(1.2, 1.5)

for i, row in enumerate(data):
    if row[0] == 'BST' and row[2] > 1:
        table[(i+1, 2)].set_facecolor('#ffcccc')
        table[(i+1, 2)].set_text_props(weight='bold')

plt.title('Результаты экспериментов (среднее время в секундах)', fontsize=14, fontweight='bold', pad=20)
plt.savefig('docs/data/table_results.png', dpi=200, bbox_inches='tight', facecolor='white')
plt.close()
