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