|
SSJ V. 2.6. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object umontreal.iro.lecuyer.simevents.eventlist.BinaryTree
public class BinaryTree
An implementation of EventList
using a binary search tree.
Every event is stored into a tree node which has left and right children.
Using the event time as a comparator the left child is always smaller
than its parent whereas the right is greater or equal. This allows
an average
O(log(n)) time for adding an event
and searching the first event,
where n is the number of events in the structure.
There is less overhead for adding and removing events than splay tree
or red black tree.
However, in the worst case, adding or removing could
be done in time proportional to n because the binary search tree can be turned
into a linked list.
Constructor Summary | |
---|---|
BinaryTree()
|
Method Summary | ||
---|---|---|
void |
add(Event ev)
Adds a new event in the event list, according to the time of ev. |
|
void |
addAfter(Event ev,
Event other)
Same as add , but adds the new event ev
immediately after the event other in the list. |
|
void |
addBefore(Event ev,
Event other)
Same as add , but adds the new event ev
immediately before the event other in the list. |
|
void |
addFirst(Event ev)
Adds a new event at the beginning of the event list. |
|
void |
clear()
Empties the event list, i.e., cancels all events. |
|
Event |
getFirst()
Returns the first event in the event list. |
|
|
getFirstOfClass(Class<E> cl)
Returns the first event of the class E (a subclass of Event) in the event list. |
|
Event |
getFirstOfClass(String cl)
Returns the first event of the class cl (a subclass of Event) in the event list. |
|
boolean |
isEmpty()
Returns true if and only if the event list is empty (no event is scheduled). |
|
Iterator<Event> |
iterator()
|
|
ListIterator<Event> |
listIterator()
Returns a list iterator over the elements of the class Event in this list. |
|
boolean |
remove(Event ev)
Removes the event ev from the event list (cancels this event). |
|
Event |
removeFirst()
Removes the first event from the event list (to cancel or execute this event). |
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public BinaryTree()
Method Detail |
---|
public boolean isEmpty()
EventList
isEmpty
in interface EventList
public void clear()
EventList
clear
in interface EventList
public void add(Event ev)
EventList
add
in interface EventList
ev
- event to be addedpublic void addFirst(Event ev)
EventList
addFirst
in interface EventList
ev
- event to be addedpublic void addBefore(Event ev, Event other)
EventList
add
, but adds the new event ev
immediately before the event other in the list.
addBefore
in interface EventList
ev
- event to be addedother
- reference event before which ev will be addedpublic void addAfter(Event ev, Event other)
EventList
add
, but adds the new event ev
immediately after the event other in the list.
addAfter
in interface EventList
ev
- event to be addedother
- reference event after which ev will be addedpublic Event getFirst()
EventList
getFirst
in interface EventList
public Event getFirstOfClass(String cl)
EventList
getFirstOfClass
in interface EventList
public <E extends Event> E getFirstOfClass(Class<E> cl)
EventList
getFirstOfClass
in interface EventList
public Iterator<Event> iterator()
iterator
in interface Iterable<Event>
public ListIterator<Event> listIterator()
EventList
listIterator
in interface EventList
public boolean remove(Event ev)
EventList
remove
in interface EventList
ev
- event to be removed
public Event removeFirst()
EventList
removeFirst
in interface EventList
public String toString()
toString
in class Object
|
SSJ V. 2.6. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |