Я недавно начал изучать scala и натолкнулся на функцию ::
(cons), которая добавляется в список.
В книге «Программирование в Scala» говорится, что нет функции добавления, потому что добавление в список имеет производительность o (n), тогда как предварительное добавление имеет производительность o (1)
Что-то мне кажется неправильным в этом утверждении.
Не зависит ли производительность от реализации? Разве нельзя просто реализовать список с прямыми и обратными ссылками и сохранить первый и последний элемент в контейнере?
Второй вопрос, который я полагаю, это то, что я должен делать, когда у меня есть список, скажем, 1,2,3, и я хочу добавить 4 в его конец?