Я начал изучать структуры данных и алгоритмы до того, как мой последний год в школе начнет следить за тем, чтобы я был на вершине всего. Одна проблема обзора: "Реализовать стек с помощью связанного списка или динамического массива и объяснить, почему вы сделали лучший выбор".
Мне показалось более понятным использовать список с указателем на хвост для реализации стека, поскольку его, возможно, нужно часто изменять. Похоже, что для большого количества данных список является лучшим выбором, так как динамический массив перераспределения является дорогостоящей операцией. Кроме того, со списком вам не нужно выделять больше места, чем вам действительно нужно, чтобы оно было более экономичным.
Однако динамический массив определенно позволит добавлять данные намного быстрее (кроме случаев, когда их нужно изменить). Тем не менее, я не уверен, что использование массива происходит быстрее, или только если его не нужно изменять.
В решении книги сказано "для хранения очень больших объектов, список - лучшая реализация", но я не понимаю, почему.
Какой способ лучше? Какие факторы следует использовать для определения того, какая реализация является "лучшей"? Кроме того, какая-то моя логика здесь?