.NET フレームワークで使用できるように、F# で永続的 (純粋に関数型、不変型など) の成長可能なベクターを実装することに興味があります。私の現在の実装は、Hash-Mapped Trie のバリアントであり、 Clojure の実装に従って行われます。
この実装を使用して、ランダムアクセスの挿入と削除 (ランダムなインデックスでの要素の挿入と削除) を実装するのに問題があります。これらの操作を効率的に可能にするアルゴリズム/変更、または私が見ることができる他の実装はありますか?
明確化:「挿入」と「削除」と言うとき、たとえば、リストが与えられた場合、位置に[1; 2; 3; 4]
挿入すると. または操作を意味するものではありません。500
1
[1:500:2:3:4]
set
associate