2.5 KiB
2.5 KiB
Технический отчет: Сравнительный анализ структур данных
1. Вводные данные
Целью теста является оценка производительности LinkedList, HashTable и BST на массиве из 10000 элементов. Анализировались сценарии со случайным распределением и предварительной сортировкой ключей.
2. Результаты измерений (AVG)
| Алгоритм | Входные данные | Вставка (с) | Поиск (с) | Удаление (с) |
|---|---|---|---|---|
| LinkedList | случайный | 0.001479 | 0.031327 | 0.020202 |
| HashTable | случайный | 0.003175 | 0.000076 | 0.000043 |
| BST | случайный | 0.026709 | 0.000231 | 0.000123 |
| LinkedList | сортированный | 0.001394 | 0.032335 | 0.018226 |
| HashTable | сортированный | 0.002912 | 0.000072 | 0.000039 |
| BST | сортированный | 10.026921 | 0.084635 | 0.050672 |
3. Визуальный анализ
Сравнение по типам операций
Влияние упорядоченности на производительность
4. Экспертные выводы
- Эффект вырождения BST: На отсортированных последовательностях BST демонстрирует критический рост времени выполнения (деградация до $O(N)$). Это связано с отсутствием балансировки, превращающим дерево в линейный список.
- Инвариантность HashTable: Хеш-таблица показывает наиболее стабильные результаты. Скорость доступа не коррелирует с порядком входных данных.
- Линейная сложность LinkedList: Связный список предсказуемо неэффективен при поиске, так как требует итерации по всей глубине структуры.
- Итоговая оценка: Для систем с высокой интенсивностью поиска и вставки оптимальным выбором является HashTable.

