![]() 45 / 31 / 18
Регистрация: 15.11.2014
Сообщений: 169
|
|
Преимущества и недостатки при реализации стека, очереди и дека через дин. массива20.03.2015, 23:38. Показов 18073. Ответов 4
Метки нет Все метки)
(
Доброго времени суток!
1) Назовите преимущества и недостатки реализации очереди с помощью динамического массива. 2) Назовите преимущества и недостатки реализации стека с помощью односвязного списка. 3) Назовите преимущества и недостатки реализации дека с помощью динамического массива. 1) По первому я могу лишь предположить, что будет долгое время работы в связи с тем, что необходимо будет довыделять буфер, если вдруг закончится место в массиве. Да и в принципе достаточно долго доставать элемент, если он находится в конце. 2) Ничего не придумал 3) ничего не придумал Если есть идеи, подкиньте пожалуйста. ![]() Добавлено через 1 час 41 минуту UPD: 1) Достоинсва: можно не заботится, о том, что закончится память, можно быстро найти нужный элемент(например бинарным поиском если очередь отсортирована. В отличии от очереди реализованной на затрачивает меньше памяти. Недостатки: большое время добавления элемента, если заканчивается память(из-за того, что необходима скопировать весь массив в новый буфер. 2) Достоинства: Добавление элемента всегда работает за одно и тоже время(т.к. нет необходимости компировать весь стек, если вдруг кончится память), Недостатки: Возможность перемещаться по стеку лишь в одном направлении, что затруднит поиск необхоимого элемента, элементы списка могут располагаться в памяти разреженно, что оказывает негативный эффект на кэширование процессора. 3)Достоинства: Занимает меньше памяти, чем реализация дека с помощью списка Недостатки: Сложнее добавлять новые элементы если реализовывать не списком. Наверняка ещё есть что-то, но вроде должно хватить. Если что добавьте потом. Модератор закройте тему. Всегда хотел это сказать. ![]()
0
|
20.03.2015, 23:38 | |
Ответы с готовыми решениями:
4
из дин. дека в дин. стек (Borland С++)
В чем преимущества и недостатки разметки UI при помощи XML |
Модератор
![]() 8963 / 6729 / 921
Регистрация: 14.02.2011
Сообщений: 23,762
|
|
20.03.2015, 23:53 | |
1
|
21 / 21 / 13
Регистрация: 28.04.2013
Сообщений: 85
|
|
21.03.2015, 00:36 | |
![]() Решение
Zedapp, каким методом ты решил это выяснить? pop, push или peek? Ты можешь глянуть только вехний, это стек, бро
Добавлено через 12 минут по теме 1) очередь динамическим массивом. полная лажа, или я чет не понял. если у нас есть еще хотя бы 2 указателя : на последний элемент очереди и на первый, и они постоянно меняются, то это еще куда ни шло, а если есть просто массив и мы считаем что [0] элемент он первый, а какой - то там последний, то каждое извлечение элемента (только первого естественно) влечет за собой копирование всех остальных назад на 1 это жуть какая то получается, или это влечет за собой выделение нового массива длиной н-1, копирование туда и удаление старого? из плюсов: памяти нужно ровно столько, сколько весят данные 2) стек односвязным списком - все по науке минусы - чуть больше памяти 3) тоже что с очередью, я не понимаю что именно они имеют ввиду, если есть указатели дополнительные, то все не так плохо, если нет то беда
1
|
5 / 5 / 6
Регистрация: 17.05.2014
Сообщений: 61
|
|
21.03.2015, 00:40 | |
Недостатки стека через динам. массив:
-одной из основных преимуществом массива над указателями является обращение элемента по индексу, в стеке такой функции не должно быть -добавление в стек происходит в голову и из неё же извлекается, т.е. идет работа с 1 элементом. Теперь конкретней: при добавлении в стек реализованном через указатели нужно будет создать только 1 указатель, выделить под него память и связать со стеком, итого не в зависимости сколько элементов в текущем стеке мы выделяем память только под 1 элемент. В динам. массиве для добавления 1го элемента придется целиком перевыделять память для всего массива, т.е. есть стек на 100000 элементов и чтобы добавить 1 элемент нужно перевыделить 100001 элементов, итого мы имеем большие косяки по памяти. Тоже самое с очередью и деком
1
|
21.03.2015, 00:40 | |
Помогаю со студенческими работами здесь
5
Помогите создать программу по реализации списка, стека и очереди! Преимущества и недостатки Windows Forms Работа за рубежом. Преимущества и недостатки. QuickSort и MergeSort: недостатки и преимущества Преимущества и недостатки Reg Organizer Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
|
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
|
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
|
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг.
Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя.
Странные серые краски проникают и. . .
|
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
|
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
|
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
|
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
|
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
|
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
|