Ich hat versucht, diese Code-Snippet zu verwendenF # Priority Queue
https://code.msdn.microsoft.com/windowsdesktop/Net-Implementation-of-a-d3ac7b9d
eine Heap-basierte Implementierung von Prim-Algorithmus zu implementieren, um das Mindest Spanning Tree (MST) Problem in einem ungerichteten verbunden zu lösen Graph.
nach ein paar Iterationen finde ich, dass die Heap/Priority-Queue nicht mehr gut gepflegt ist. das ist der Kopf der PriorityQueue hat nicht den niedrigsten Schlüssel im Heap.
PQ 0 [-7230, 309]
...
PQ 146 [-7277, 308]
Hat jemand diesen Code verwendet und ähnliche Probleme festgestellt? Ich kann einen Link auf GitHub, wenn jemand es betrachten würde
Meine Bedürfnisse sind für eine Heap-Datenstruktur, die das Löschen eines Elements in der Mitte unterstützt. Es sieht so aus, als hätte Fsharpx.collections keine solche Datenstruktur.
Kennt jemand eine gute Implementierung irgendwo verfügbar?
dank
Wenn Sie mit SortedDeque endete, sollten Sie meine Antwort akzeptiert haben. Spreads ist meine Bibliothek und ich habe dir einen direkten Link dazu gegeben. Ich verstehe nicht, was "in vollem Umfang" du dazu hinzufügst ...:/ –
Weil meine Frage zwei Teile hat. Bestätigen, dass FSharpx.Collections die Aufgabe nicht erfüllt. Eine Bibliothek mit einer Datenstruktur finden, die für mein Problem funktioniert. Du hast nur den zweiten Teil beantwortet. Ich wollte dich nicht beleidigen. Spreads sind übrigens eine ausgezeichnete Arbeit. Ich verbreite das Wort. Entfernen Sie bitte das Downvote –
Nevermind! Es ist nicht meins –