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

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

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

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

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


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

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]