我正在研究Okasaki的Purely Functional Data Structures并尝试构建F#实现的东西。我也正在阅读书中列出的练习(有些非常具有挑战性)。那么我被困在练习3.4中,它要求修改WeightBiasedLeftistHeap的合并函数,以便它在一次执行中执行,而不是原始的2次执行。 我还没有能够找出如何做到这一点,并希望得到一些建议。还有另外一个post here on
考虑以下结构: class G {
Node[] nodes;
}
class Node {
Node neighbour;
}
深拷贝操作可以定义为: function G copy (G g) {
G r = new G();
Map isom = new Map();
for (Node node in g.nodes) {