Я пытаюсь сравнить темпы роста (как во время выполнения, так и в пространстве) для операций стека и очереди, когда они реализованы как массивы и как связанные списки. Пока мне удалось найти только среднее время выполнения для queue pop ()
s, но ничего, что всесторонне исследует эти две структуры данных и сравнивает их поведение во время выполнения / пространство.
В частности, я хочу сравнить push ()
и pop ()
как для очередей, так и для стеков, реализованных как как массивы , так и связанные списки ( таким образом, 2 операции x 2 структуры x 2 реализации, или 8 значений).
Кроме того, я бы оценил наилучшие, средние и наихудшие значения для обоих из них, а также все, что связано с объемом занимаемого ими места.
Самое близкое, что мне удалось найти, - это PDF-файл "мать всех шпаргалок по cs", который явно представляет собой шпаргалку по продвинутым алгоритмам и дискретным функциям уровня магистра или доктора.
Я просто ищу способ определить, когда и где мне следует использовать реализацию на основе массива по сравнению с реализацией на основе списка как для стеков, так и для очередей.