2026-rff_mp/krasnovia/lab1/docs/report.md
2026-05-11 16:37:10 +03:00

2.5 KiB
Raw Blame History

Технический отчет: Сравнительный анализ структур данных

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. Визуальный анализ

Сравнение по типам операций

Сравнение

Влияние упорядоченности на производительность

Влияние порядка

4. Экспертные выводы

  • Эффект вырождения BST: На отсортированных последовательностях BST демонстрирует критический рост времени выполнения (деградация до $O(N)$). Это связано с отсутствием балансировки, превращающим дерево в линейный список.
  • Инвариантность HashTable: Хеш-таблица показывает наиболее стабильные результаты. Скорость доступа не коррелирует с порядком входных данных.
  • Линейная сложность LinkedList: Связный список предсказуемо неэффективен при поиске, так как требует итерации по всей глубине структуры.
  • Итоговая оценка: Для систем с высокой интенсивностью поиска и вставки оптимальным выбором является HashTable.