Рассмотреть следующие структуры данных: stack, queue, array, vector, list, set, map, unordered set, unordered map.
Рассмотреть следующие операции: создание структуры из N элементов, удаление структуры из N элементов, вставка M элементов в середину структуры.
Для каждой возможной пары данные/операция нужно провести эксперимент для расчёта времени, затрачиваемой на проведение операции, варьируя параметры N и M.
При создании структуры или удалении менять только параметр N. При исследовании вставки в середину варьировать только параметр M, выбрав в качестве изначального размера данных некоторое большое число N.
В качестве возможных значений числа N выбрать любую арифметическую прогрессию, чтобы результат был отчётливо виден на графике. Например, 10к-20к-30к-...-100к или с большим разбросом, если позволяет используемая ЭВМ.
В качестве M выбирать числа порядка 1%-2%-3%-...-20% (или с большим разбросом, если позволяет ЭВМ) от изначального числа данных в структуре, в которую осуществляется вставка в середину.
Сделать выводы, как зависит время выполнения тех или иных операций для различных структур данных от параметров N и M.
Зависимость показывает постоянную (T(N, M) = c), линейную (T(N) = b * N + c), логарифмическую (T(N) = b * log(N) + c), квадратическую (T(N) = a * N^2 + b * N + c) или какую-то другую зависимость или её отсутствие?
Писать код следует по указанному шаблону в файле s_docx
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |