Implementation of PriorityQueue

 

The table below indicates where methods are implemented and the time complexity of these methods.  Some methods are implemented in more than one place.  When this happens, each entry overrides the entries to its left. When an entry says "based on iterator" or "traverse iterator" or "uses size," then the time complexity depends on the iterator or size method.

 

 

PriorityQueue Implementation

Abstract

Container

Abstract

Priority

Queue

Linked

Priority

Queue

Heap

Priority

Queue

 

constructor ()

O(1)

O(1)

O(1)

O(1)

 

constructor

(int maxPriority)

 

 

O(1)

 

 

 

 

 

 

 

void

clear ()

O(1)

 

O(1)

O(1)

Object

clone ()

 

 

O(n)

O(n)

Collection

collectionView ()

based on iterator

 

 

 

Object

dequeue ()

 

 

O(1)

O(log n)

void

enqueue (Object item)

 

uses enqueue (i, 1)

 

 

void

enqueue (Object item, int priority)

 

abstract

O(1)

O(log n)

boolean

equals (Object other)

 

 traverse iterator

 

 

int

hashCode ()

traverse iterator

 

 

 

boolean

isEmpty

uses size method

 

 

 

Iterator

iterator ()

abstract

 

O(1)

O(n log n)

Object

peek ()

 

 

O(1)

O(1)

int

size ()

O(1)

 

 

 

Object []

toArray ()

traverse iterator

 

 

 

String

toString ()

traverse iterator

 

O(n)

O(n log n)

 

martin@cc.wwu.edu
Disclaimer

Copyright Martin Osborne 1998-2001
  All rights reserved