2026-rff_mp/starikovta/docs/report_task1.md
2026-09-05 17:16:35 +03:00

2.2 KiB
Raw Blame History

Отчёт по Заданию 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

Анализ

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))