2026-rff_mp/starikovta/docs/report.md
2026-05-21 22:00:40 +03:00

46 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Отчёт по Заданию 1
## Реализованные структуры
1. Связный список
2. Хеш-таблица (1000 бакетов)
3. Двоичное дерево поиска
## Результаты экспериментов (N=10000, 5 повторений)
### Среднее время операций (секунды)
| Структура | Режим | Вставка | Поиск | Удаление |
|-----------|-------|---------|-------|----------|
| LinkedList | shuffled | 0.4201 | 0.0046 | 0.0035 |
| LinkedList | sorted | 0.4510 | 0.0027 | 0.0025 |
| HashTable | shuffled | 0.4048 | 0.0037 | 0.0027 |
| HashTable | sorted | 0.0419 | 0.0003 | - |
| BST | shuffled | 0.0002 | 0.0002 | - |
| BST | sorted | 1.4717 | 0.0053 | 0.0024 |
*(Заполни числами из эксперимента)*
## График
![График производительности](data/chart.png)
## Анализ
### 1. Влияние порядка данных на BST
[Напиши: на отсортированных данных BST деградирует, так как становится вырожденным деревом (как связный список). Время вставки растёт с O(log n) до O(n).]
### 2. Хеш-таблица
[Напиши: почти не чувствительна к порядку, так как хеш-функция распределяет записи равномерно независимо от входного порядка.]
### 3. Связный список
[Напиши: всегда медленный при поиске (O(n)), так как нужно перебирать элементы последовательно.]
### 4. Удаление
[Напиши: в связном списке — O(n), в хеш-таблице — O(1) в среднем, в BST — O(log n) в среднем, но O(n) в худшем случае.]
## Вывод
Какую структуру и для каких задач выбирать:
- **Частые вставки**: связный список (O(1) в начало/конец) или хеш-таблица (амортизированно O(1))
- **Частый поиск**: хеш-таблица (O(1) в среднем)
- **Необходимость получать данные в порядке**: BST (in-order обход даёт отсортированный список за O(n))