Обсуждение:Очередь
☑ Добавить реализацию на двух стеках.
- Если уж добавлять, то нужно оформить, как и остальные реализации (к примеру, добавить "операции выполняются за " и плюсы/минусы).
- Хм. А почему медленнее-то? Не понятно.
- И, да, как я понимаю, в реализации на массивах O(1) амортизированное, а не истинное (из-за необходимости перевыделения памяти).
☑ Ну, во-первых. В плюсах и минусах написан какой-то трешак местами. Примеры:
- Плюсы реализации на массиве могут повторяться как минусы реализации на списке, что не есть хорошо, я думаю.
- «размер очереди ограничен лишь объемом памяти» — корявая фраза. Размер очереди у нас в обоих случаях ничем не ограничен.
В общем, советую проверить и то, что неверно, выкинуть.
☑ В минусы реализации на списке нужно добавить тот факт, что в таком варианте память фрагментируется гораздо сильнее и последовательная итерация по такой очереди может быть ощутимо медленнее, нежели итерация по очереди на массиве.
☑ Советую вообще дать прочитать этот конспект какому-нибудь хоть чуть-чуть шарящему человеку, дабы вычистить фактические ошибки (FIFO - не стратегия, а принцип) и ошибки согласования («Для реализации очереди на списке этого необходимо создать список»).
☑ Стоит оформить ссылки в соответствии с требованиями (пункт 9, требования к оформлению источников).
☑ Что такое «динамическое множество»?
☑ В псевдокоде реализации на двух стеках в операции push второй if не нужен.
Замечания АС
☐ Аллюзия с хлебом в определении очереди не очень удачна
☐ Странное форматирование псевдокода
☐ Почему за амортизированную 1 в реализации на массиве?
☐ Реализация на списке - полная ахинея в псевдокоде. Где там создание новых элементов и удаление извлеченных, например?
☐ А реализация на двух стеках здесь вообще загадочно описана...