2026-rff_mp/krasnovia/lab1/docs/report.md

27 lines
2.5 KiB
Markdown
Raw Normal View History

2026-05-11 13:37:10 +00:00
# Технический отчет: Сравнительный анализ структур данных
## 1. Вводные данные
Целью теста является оценка производительности LinkedList, HashTable и BST на массиве из 10000 элементов. Анализировались сценарии со случайным распределением и предварительной сортировкой ключей.
## 2. Результаты измерений (AVG)
| Алгоритм | Входные данные | Вставка (с) | Поиск (с) | Удаление (с) |
| :--- | :--- | :--- | :--- | :--- |
| LinkedList | случайный | 0.003498 | 0.071053 | 0.038849 |
| HashTable | случайный | 0.007365 | 0.000180 | 0.000100 |
| BST | случайный | 0.047289 | 0.000469 | 0.000249 |
| LinkedList | сортированный | 0.003252 | 0.069011 | 0.041852 |
| HashTable | сортированный | 0.006638 | 0.000163 | 0.000093 |
| BST | сортированный | 19.255415 | 0.168247 | 0.102223 |
## 3. Визуальный анализ
### Сравнение по типам операций
![Сравнение](data/struct_comparison.png)
### Влияние упорядоченности на производительность
![Влияние порядка](data/order_impact.png)
## 4. Экспертные выводы
- **Эффект вырождения BST:** На отсортированных последовательностях BST демонстрирует критический рост времени выполнения (деградация до $O(N)$). Это связано с отсутствием балансировки, превращающим дерево в линейный список.
- **Инвариантность HashTable:** Хеш-таблица показывает наиболее стабильные результаты. Скорость доступа не коррелирует с порядком входных данных.
- **Линейная сложность LinkedList:** Связный список предсказуемо неэффективен при поиске, так как требует итерации по всей глубине структуры.
- **Итоговая оценка:** Для систем с высокой интенсивностью поиска и вставки оптимальным выбором является HashTable.