その性質が整っているので、それpriorityQueueは完璧だと理解しています。Array
OCaml のリストに PriorityQueue (ヒープ) を実装する必要がありますか?
でそれを行う場合List、そのことを削除して、すべてのステップで新しいリストを作成するin-place方法を考えなければなりません. every timeだから、それが価値があるかどうか疑問に思っています。
実は、私はこれについてもっと深い考えを持っています。
そのため、多くのfundamentalアルゴリズム/データ構造が発明されましたin-place(invented多くのインプレースを に変換できることを理解しているため、使用しますnot-in-place)。
ただし、物FLはお勧めしませんmutable。さらなる質問の 1 つは、 と をどのように選択するかということです。in-place / mutableimmutableまたはOCamlでは、いつ と の間listで選択する必要がありarrayますか?
例えば、上記のpriorityqueue場合、priorityqueueOCaml でa を書くように言われたらarray、より自然で簡単なリストを選ぶべきでしょうか、それとも不変であるためにリストを選ぶべきでしょうか?