Refine search
public boolean next() { while (!agenda_.isEmpty()) { QueueElement top = agenda_.peek(); Node rnode = top.node; agenda_.remove(top); if (rnode.x == 0) { for (QueueElement n = top; n != null; n = n.next) { result_.set(n.node.x, n.node.y); } cost_ = top.gx; return true; } for (Path p : rnode.lpath) { QueueElement n = new QueueElement(); n.node = p.lnode; n.gx = -p.lnode.cost - p.cost + top.gx; n.fx = -p.lnode.bestCost - p.cost + top.gx; n.next = top; agenda_.add(n); } } return false; }
private void computePaths(Vertex source) { source.minDistance = 0.; final PriorityQueue<Vertex> vertexQueue = new PriorityQueue<Vertex>(); vertexQueue.add(source); while (vertexQueue.isEmpty() == false) { final Vertex u = vertexQueue.poll(); // Visit each edge exiting u for (Edge e : u.adjacencies) { final Vertex v = e.target; final double weight = e.weight; final double distanceThroughU = u.minDistance + weight; if (distanceThroughU < v.minDistance) { vertexQueue.remove(v); v.minDistance = distanceThroughU; v.previous = u; vertexQueue.add(v); } } } }
public double modelCoefficientTrainingCompleteness() { if (LOG.isDebugEnabled()) { LOG.debug("Linear regression model training data indices: {}", INDICES); } PriorityQueue<Integer> mostFilledBuckets = new PriorityQueue<>(MIN_CPU_UTIL_OBSERVATION_BUCKETS); for (AtomicInteger index : INDICES.values()) { mostFilledBuckets.add(index.get()); if (mostFilledBuckets.size() > MIN_CPU_UTIL_OBSERVATION_BUCKETS) { mostFilledBuckets.remove(); } } double completeness = 0.0; for (Integer index : mostFilledBuckets) { completeness += ((double) Math.min(index, NUM_OBSERVATIONS_PER_UTIL_BUCKET)) / NUM_OBSERVATIONS_PER_UTIL_BUCKET / MIN_CPU_UTIL_OBSERVATION_BUCKETS; } return completeness; }
@Override public boolean next() throws IOException { while (pq.size() > 0) { ReaderBuffer buffer = pq.poll(); String[] minEntry = buffer.pop(); this.row = minEntry; if (buffer.empty()) { pq.remove(buffer); } else { pq.add(buffer); // add it back } if (this.row == null) { //avoid the case of empty file return false; } return true; } return false; }
@Override public boolean moveNext() throws IOException { while (pq.size() > 0) { ReaderBuffer buffer = pq.poll(); String minEntry = buffer.pop(); this.colValue = minEntry; if (buffer.empty()) { pq.remove(buffer); } else { pq.add(buffer); // add it back } if (this.colValue == null) { //avoid the case of empty file return false; } return true; } return false; }
@Override public Iterator<IntermediateSampleData<T>> sampleInPartition(Iterator<T> input) { if (numSamples == 0) { return emptyIntermediateIterable; } // This queue holds fixed number elements with the top K weight for current partition. PriorityQueue<IntermediateSampleData<T>> queue = new PriorityQueue<IntermediateSampleData<T>>(numSamples); int index = 0; IntermediateSampleData<T> smallest = null; while (input.hasNext()) { T element = input.next(); if (index < numSamples) { // Fill the queue with first K elements from input. queue.add(new IntermediateSampleData<T>(random.nextDouble(), element)); smallest = queue.peek(); } else { double rand = random.nextDouble(); // Remove the element with the smallest weight, and append current element into the queue. if (rand > smallest.getWeight()) { queue.remove(); queue.add(new IntermediateSampleData<T>(rand, element)); smallest = queue.peek(); } } index++; } return queue.iterator(); } }
public static PriorityQueue<Integer> add(PriorityQueue<Integer> accumulator, Integer n, Integer val) { if (n <= 0) { return accumulator; } if (accumulator.size() >= n) { if (val > accumulator.peek()) { accumulator.remove(); accumulator.add(val); } } else { accumulator.add(val); } return accumulator; } public static List<Integer> result(PriorityQueue<Integer> accumulator) {
@Override public T next() { if (!hasNext()) { throw new NoSuchElementException(); } final PeekingIterator<T> littleIt; if (!iterOfIterators.hasNext()) { littleIt = firstElementComparedPQueue.remove(); } else if (firstElementComparedPQueue.isEmpty()) { littleIt = iterOfIterators.next(); } else { T pQueueValue = firstElementComparedPQueue.peek().peek(); T iterItersValue = iterOfIterators.peek().peek(); if (comparator.compare(pQueueValue, iterItersValue) <= 0) { littleIt = firstElementComparedPQueue.remove(); } else { littleIt = iterOfIterators.next(); } } T retVal = littleIt.next(); if (littleIt.hasNext()) { firstElementComparedPQueue.add(littleIt); } return retVal; }