List of usage examples for java.util PriorityQueue poll
public E poll()
From source file:Main.java
public static void main(String args[]) { PriorityQueue<Integer> p = new NoDuplicates<Integer>(); p.add(1);//from w ww. j a v a2 s.co m p.add(2); p.add(1); for (int i = 0; i <= 2; i++) { System.out.println(p.poll()); } }
From source file:Main.java
public static void main(String args[]) { PriorityQueue<Integer> prq = new PriorityQueue<Integer>(); for (int i = 3; i < 10; i++) { prq.add(i);/*from w w w. j a v a 2 s.co m*/ } System.out.println(prq); // get the head from the queue Integer head = prq.poll(); System.out.println("Head of the queue is: " + head); System.out.println(prq); }
From source file:ProductQuality.java
public static void main(String args[]) { PriorityQueue<Product> pq = new PriorityQueue<Product>(3); pq.add(new Product("A", ProductQuality.Low)); pq.add(new Product("B", ProductQuality.High)); pq.add(new Product("C", ProductQuality.Medium)); Product m;//from w w w . ja v a2 s .c o m while ((m = pq.poll()) != null) System.out.println(m.name + " Priority: " + m.priority); PriorityQueue<Product> pqRev = new PriorityQueue<Product>(3, new MessageComparator()); pqRev.add(new Product("D", ProductQuality.Low)); pqRev.add(new Product("E", ProductQuality.High)); pqRev.add(new Product("F", ProductQuality.Medium)); while ((m = pqRev.poll()) != null) System.out.println(m.name + " Priority: " + m.priority); }
From source file:SequentialPageRank.java
@SuppressWarnings({ "static-access" })
public static void main(String[] args) throws IOException {
Options options = new Options();
options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("input path").create(INPUT));
options.addOption(/*from w w w . j av a 2 s. co m*/
OptionBuilder.withArgName("val").hasArg().withDescription("random jump factor").create(JUMP));
CommandLine cmdline = null;
CommandLineParser parser = new GnuParser();
try {
cmdline = parser.parse(options, args);
} catch (ParseException exp) {
System.err.println("Error parsing command line: " + exp.getMessage());
System.exit(-1);
}
if (!cmdline.hasOption(INPUT)) {
System.out.println("args: " + Arrays.toString(args));
HelpFormatter formatter = new HelpFormatter();
formatter.setWidth(120);
formatter.printHelp(SequentialPageRank.class.getName(), options);
ToolRunner.printGenericCommandUsage(System.out);
System.exit(-1);
}
String infile = cmdline.getOptionValue(INPUT);
float alpha = cmdline.hasOption(JUMP) ? Float.parseFloat(cmdline.getOptionValue(JUMP)) : 0.15f;
int edgeCnt = 0;
DirectedSparseGraph<String, Integer> graph = new DirectedSparseGraph<String, Integer>();
BufferedReader data = new BufferedReader(new InputStreamReader(new FileInputStream(infile)));
String line;
while ((line = data.readLine()) != null) {
line.trim();
String[] arr = line.split("\\t");
for (int i = 1; i < arr.length; i++) {
graph.addEdge(new Integer(edgeCnt++), arr[0], arr[i]);
}
}
data.close();
WeakComponentClusterer<String, Integer> clusterer = new WeakComponentClusterer<String, Integer>();
Set<Set<String>> components = clusterer.transform(graph);
int numComponents = components.size();
System.out.println("Number of components: " + numComponents);
System.out.println("Number of edges: " + graph.getEdgeCount());
System.out.println("Number of nodes: " + graph.getVertexCount());
System.out.println("Random jump factor: " + alpha);
// Compute PageRank.
PageRank<String, Integer> ranker = new PageRank<String, Integer>(graph, alpha);
ranker.evaluate();
// Use priority queue to sort vertices by PageRank values.
PriorityQueue<Ranking<String>> q = new PriorityQueue<Ranking<String>>();
int i = 0;
for (String pmid : graph.getVertices()) {
q.add(new Ranking<String>(i++, ranker.getVertexScore(pmid), pmid));
}
// Print PageRank values.
System.out.println("\nPageRank of nodes, in descending order:");
Ranking<String> r = null;
while ((r = q.poll()) != null) {
System.out.println(r.rankScore + "\t" + r.getRanked());
}
}
From source file:PriorityQueueTester.java
public static void main(String[] args) { PriorityQueue<Integer> pq = new PriorityQueue<Integer>(20, new Comparator<Integer>() { public int compare(Integer i, Integer j) { int result = i % 2 - j % 2; if (result == 0) result = i - j;// w w w . ja v a 2 s. c o m return result; } }); // Fill up with data, in an odd order for (int i = 0; i < 20; i++) { pq.offer(20 - i); } // Print out and check ordering for (int i = 0; i < 20; i++) { System.out.println(pq.poll()); } }
From source file:SequentialPersonalizedPageRank.java
@SuppressWarnings({ "static-access" })
public static void main(String[] args) throws IOException {
Options options = new Options();
options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("input path").create(INPUT));
options.addOption(/*from ww w .j ava2s .c om*/
OptionBuilder.withArgName("val").hasArg().withDescription("random jump factor").create(JUMP));
options.addOption(OptionBuilder.withArgName("node").hasArg()
.withDescription("source node (i.e., destination of the random jump)").create(SOURCE));
CommandLine cmdline = null;
CommandLineParser parser = new GnuParser();
try {
cmdline = parser.parse(options, args);
} catch (ParseException exp) {
System.err.println("Error parsing command line: " + exp.getMessage());
System.exit(-1);
}
if (!cmdline.hasOption(INPUT) || !cmdline.hasOption(SOURCE)) {
System.out.println("args: " + Arrays.toString(args));
HelpFormatter formatter = new HelpFormatter();
formatter.setWidth(120);
formatter.printHelp(SequentialPersonalizedPageRank.class.getName(), options);
ToolRunner.printGenericCommandUsage(System.out);
System.exit(-1);
}
String infile = cmdline.getOptionValue(INPUT);
final String source = cmdline.getOptionValue(SOURCE);
float alpha = cmdline.hasOption(JUMP) ? Float.parseFloat(cmdline.getOptionValue(JUMP)) : 0.15f;
int edgeCnt = 0;
DirectedSparseGraph<String, Integer> graph = new DirectedSparseGraph<String, Integer>();
BufferedReader data = new BufferedReader(new InputStreamReader(new FileInputStream(infile)));
String line;
while ((line = data.readLine()) != null) {
line.trim();
String[] arr = line.split("\\t");
for (int i = 1; i < arr.length; i++) {
graph.addEdge(new Integer(edgeCnt++), arr[0], arr[i]);
}
}
data.close();
if (!graph.containsVertex(source)) {
System.err.println("Error: source node not found in the graph!");
System.exit(-1);
}
WeakComponentClusterer<String, Integer> clusterer = new WeakComponentClusterer<String, Integer>();
Set<Set<String>> components = clusterer.transform(graph);
int numComponents = components.size();
System.out.println("Number of components: " + numComponents);
System.out.println("Number of edges: " + graph.getEdgeCount());
System.out.println("Number of nodes: " + graph.getVertexCount());
System.out.println("Random jump factor: " + alpha);
// Compute personalized PageRank.
PageRankWithPriors<String, Integer> ranker = new PageRankWithPriors<String, Integer>(graph,
new Transformer<String, Double>() {
@Override
public Double transform(String vertex) {
return vertex.equals(source) ? 1.0 : 0;
}
}, alpha);
ranker.evaluate();
// Use priority queue to sort vertices by PageRank values.
PriorityQueue<Ranking<String>> q = new PriorityQueue<Ranking<String>>();
int i = 0;
for (String pmid : graph.getVertices()) {
q.add(new Ranking<String>(i++, ranker.getVertexScore(pmid), pmid));
}
// Print PageRank values.
System.out.println("\nPageRank of nodes, in descending order:");
Ranking<String> r = null;
while ((r = q.poll()) != null) {
System.out.println(r.rankScore + "\t" + r.getRanked());
}
}
From source file:edu.umd.shrawanraina.SequentialPersonalizedPageRank.java
@SuppressWarnings({ "static-access" })
public static void main(String[] args) throws IOException {
Options options = new Options();
options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("input path").create(INPUT));
options.addOption(//from ww w . j av a 2 s . c o m
OptionBuilder.withArgName("val").hasArg().withDescription("random jump factor").create(JUMP));
options.addOption(OptionBuilder.withArgName("node").hasArg()
.withDescription("source node (i.e., destination of the random jump)").create(SOURCE));
CommandLine cmdline = null;
CommandLineParser parser = new GnuParser();
try {
cmdline = parser.parse(options, args);
} catch (ParseException exp) {
System.err.println("Error parsing command line: " + exp.getMessage());
System.exit(-1);
}
if (!cmdline.hasOption(INPUT) || !cmdline.hasOption(SOURCE)) {
System.out.println("args: " + Arrays.toString(args));
HelpFormatter formatter = new HelpFormatter();
formatter.setWidth(120);
formatter.printHelp(SequentialPersonalizedPageRank.class.getName(), options);
ToolRunner.printGenericCommandUsage(System.out);
System.exit(-1);
}
String infile = cmdline.getOptionValue(INPUT);
final String source = cmdline.getOptionValue(SOURCE);
float alpha = cmdline.hasOption(JUMP) ? Float.parseFloat(cmdline.getOptionValue(JUMP)) : 0.15f;
int edgeCnt = 0;
DirectedSparseGraph<String, Integer> graph = new DirectedSparseGraph<String, Integer>();
BufferedReader data = new BufferedReader(new InputStreamReader(new FileInputStream(infile)));
String line;
while ((line = data.readLine()) != null) {
line.trim();
String[] arr = line.split("\\t");
for (int i = 1; i < arr.length; i++) {
graph.addEdge(new Integer(edgeCnt++), arr[0], arr[i]);
}
}
data.close();
if (!graph.containsVertex(source)) {
System.err.println("Error: source node not found in the graph!");
System.exit(-1);
}
WeakComponentClusterer<String, Integer> clusterer = new WeakComponentClusterer<String, Integer>();
Set<Set<String>> components = clusterer.transform(graph);
int numComponents = components.size();
System.out.println("Number of components: " + numComponents);
System.out.println("Number of edges: " + graph.getEdgeCount());
System.out.println("Number of nodes: " + graph.getVertexCount());
System.out.println("Random jump factor: " + alpha);
// Compute personalized PageRank.
PageRankWithPriors<String, Integer> ranker = new PageRankWithPriors<String, Integer>(graph,
new Transformer<String, Double>() {
public Double transform(String vertex) {
return vertex.equals(source) ? 1.0 : 0;
}
}, alpha);
ranker.evaluate();
// Use priority queue to sort vertices by PageRank values.
PriorityQueue<Ranking<String>> q = new PriorityQueue<Ranking<String>>();
int i = 0;
for (String pmid : graph.getVertices()) {
q.add(new Ranking<String>(i++, ranker.getVertexScore(pmid), pmid));
}
// Print PageRank values.
System.out.println("\nPageRank of nodes, in descending order:");
Ranking<String> r = null;
while ((r = q.poll()) != null) {
System.out.println(r.rankScore + "\t" + r.getRanked());
}
}
From source file:Main.java
public static void printQueue(PriorityQueue priorityQueue) { while (!priorityQueue.isEmpty()) { System.out.println(priorityQueue.poll()); }// www .j a v a 2 s .c om }
From source file:Navigation.Vertex.java
public static void computePaths(Vertex source) { source.minDistance = 0.;//from www .j a v a 2 s . c om PriorityQueue<Vertex> vertexQueue = new PriorityQueue<Vertex>(); vertexQueue.add(source); while (!vertexQueue.isEmpty()) { Vertex u = vertexQueue.poll(); // Visit each edge exiting u for (Edge e : u.adjacencies) { Vertex v = e.target; double weight = e.weight; double distanceThroughU = u.minDistance + weight; if (distanceThroughU < v.minDistance) { vertexQueue.remove(v); v.minDistance = distanceThroughU; v.previous = u; vertexQueue.add(v); } } } }
From source file:hivemall.knn.lsh.MinHashUDTF.java
private static int getSignature(PriorityQueue<Integer> candidates, int keyGroups) { final int numCandidates = candidates.size(); if (numCandidates == 0) { return 0; }//from w w w . jav a 2 s. co m final int size = Math.min(numCandidates, keyGroups); int result = 1; for (int i = 0; i < size; i++) { int nextmin = candidates.poll(); result = (31 * result) + nextmin; } return result & 0x7FFFFFFF; }