public MstLineSweeper(List<Tuple<int, int, double, double, double>> proximityEdges, Size[] nodeSizes, Point[] nodePositions, bool forLayers) { _proximityEdges = proximityEdges; _nodeSizes = nodeSizes; _nodePositions = nodePositions; _forLayers = forLayers; Debug.Assert(nodePositions.Length==nodeSizes.Length); _q = new BinaryHeapPriorityQueue(nodeSizes.Length*2); }
public static void Test() { var q = new BinaryHeapPriorityQueue(10); q.Enqueue(2, 2); q.Enqueue(1, 1); q.Enqueue(9, 9); q.Enqueue(8, 8); q.Enqueue(5, 5); q.Enqueue(3, 3); q.Enqueue(4, 4); q.Enqueue(7, 7); q.Enqueue(6, 6); q.Enqueue(0, 0); for (int i = 0; i < 10; i++) { Console.WriteLine(q.Dequeue()); } }
public static void Test() { var q = new BinaryHeapPriorityQueue(10); q.Enqueue(2, 2); q.Enqueue(1, 1); q.Enqueue(9, 9); q.Enqueue(8, 8); q.Enqueue(5, 5); q.Enqueue(3, 3); q.Enqueue(4, 4); q.Enqueue(7, 7); q.Enqueue(6, 6); q.Enqueue(0, 0); for (int i = 0; i < 10; i++) Console.WriteLine(q.Dequeue()); }
/// <summary> /// constructor /// </summary> /// <param name="graph"></param> /// <param name="weight"></param> /// <param name="root">the node we start building the tree</param> internal MinimumSpanningTreeByPrim(BasicGraph<IEdge> graph, Func<IEdge, double> weight, int root) { this.graph = graph; this.weight = weight; this.root = root; q=new BinaryHeapPriorityQueue(graph.NodeCount); }