Как создать back-edge в чисто функциональной манере?

Я практикую чисто функциональный стиль в C++. Один большой вопрос заключается в том, как эффективно построить древовидную структуру данных. Особенно задние края. Подключение к супер-узлу. Это можно подумать, как сделать ссылку.

В C++ люди просто используют указатель (или умный указатель) для обратных сторон, но AFAIK, чисто функциональный (или ссылочная прозрачность), означает, что он полностью основан на значениях, поэтому указатель или ссылка больше ничего не значат.

Я знаю, что это может быть решено с использованием подхода с использованием огромных таблиц вершин / ребер, но это кажется очень неэффективным, потому что по существу требуется поиск для каждой операции.

Какие-либо предложения?


Мой вопрос не ограничивается C++. Если вы знаете другой способ сделать это на других языках, пожалуйста, дайте мне знать.

0 ответов

Другие вопросы по тегам