Подтвердить что ты не робот

Чисто функциональная мягкая куча

Существуют ли какие-либо реализации чисто функциональной структуры данных soft heap на любом языке?

4b9b3361

Ответ 1

Быстрый поиск цифровой библиотеки ACM указывает на то, что структура мягкой кучи Chazelle, несмотря на то, что она очень интересна, получила сравнительно мало исследований и что постоянные/функциональные мягкие кучи являются, таким образом, открытой темой исследования.

Итак, я бы сказал "нет", нет никаких известных подходов к стойким мягким кучам. Описывать один из них был бы опубликованным результатом (он может сводиться к добавлению копирования, в котором вы будете мутировать исходную структуру и определить возможности совместного использования).

Ответ 2

Хаим Каплан, Роберт Э. Тарьян, газета Ури Цвика, но не полностью анализируют чисто функциональный вариант. Его можно найти по адресу:

http://phdtree.org/pdf/44150182-soft-heaps-simplified/

Ответ 3

В этом проекте есть Java-код, который, возможно, не слишком страшен, чтобы перевести на Scala... и затем сделать его более функциональным.

https://github.com/lowasser/SoftSelect

Но, как отмечалось ранее, книга "Чисто функциональные структуры данных" имеет код Haskell, который может быть проще применить к Soft Heaps, особенно с учетом примера кода Java.

https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf