[ https://issues.apache.org/jira/browse/MAHOUT-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763124#action_12763124 ]
Ted Dunning commented on MAHOUT-186: ------------------------------------ I don't quite understand the last comment, but generally if you want the top n items in descending order, you keep a descending queue as you say in order to make insertion efficient. It is generally good to cache the score of the least element to speed comparisons even a little bit more. Then when you want the results, you can just fill a list in reverse order or just do this: List r = new ArrayList(priorityQueue); Collections.reverse(r); Since this is pretty simple, I think I misunderstood the question. > Classifier PriorityQueue returns erroneous results > -------------------------------------------------- > > Key: MAHOUT-186 > URL: https://issues.apache.org/jira/browse/MAHOUT-186 > Project: Mahout > Issue Type: Bug > Affects Versions: 0.1, 0.2 > Reporter: Robin Anil > Assignee: Robin Anil > Fix For: 0.2 > > Attachments: MAHOUT-186.patch > > > A simple test fails > import org.apache.hadoop.util.PriorityQueue; > PriorityQueue<ClassifierResult> queue = new ClassifierResultPriorityQueue(3); > queue.insert(new ClassifierResult("label1", 5)); > queue.insert(new ClassifierResult("label2", 4)); > queue.insert(new ClassifierResult("label3", 3)); > queue.insert(new ClassifierResult("label4", 2)); > queue.insert(new ClassifierResult("label5", 1)); > > assertEquals("Incorrect Size", 3, queue.size()); > log.info(queue.pop().toString()); > log.info(queue.pop().toString()); > log.info(queue.pop().toString()); > 09/10/07 16:58:39 INFO common.ClassifierResultPriorityQueueTest: > ClassifierResult{category='label3', score=3.0} > 09/10/07 16:58:39 INFO common.ClassifierResultPriorityQueueTest: > ClassifierResult{category='label4', score=2.0} > 09/10/07 16:58:39 INFO common.ClassifierResultPriorityQueueTest: > ClassifierResult{category='label5', score=1.0} > Expected label1 and label2 at the top -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.