Я знаю, как работают обычные изменяемые карты (с использованием хеш-таблиц), и знаю, как работают неизменяемые списки (рекурсивные связанные списки) и как они превосходят изменяемые списки (добавление в постоянное время, не портя оригинал), но как работают неизменяемые карты (например,Скала) работа?
Я знаю преимущество, заключающееся в том, что при создании новых карт не возникает проблем с исходной картой, но как работает базовая структура данных и какие у них характеристики производительности, например, по сравнению с изменяемыми хеш-таблицами?Есть ли какая-то стандартная структура данных, которую люди используют для их реализации, которую я мог бы посмотреть в CLRS / wikipedia?