Class BinaryTree
- java.lang.Object
-
- de.bsvrz.pua.prot.processing.util.BinaryTree
-
public class BinaryTree extends java.lang.ObjectBalancierter binärer Suchbaums mit fester Knotenanzahl. Ermöglicht die effiziente Feststellung, ob ein Zeitstempel innerhalb der Zeitintervalle liegt, die in den Blättern des Knoten gespeichert sind.
Das Hinzufügen oder entfernen Knoten ist nicht möglich.
-
-
Constructor Summary
Constructors Constructor Description BinaryTree(java.util.List<de.bsvrz.sys.funclib.losb.util.Tuple<java.lang.Long,java.lang.Long>> periods)Erzeugt einen binären Suchbaum.
-
Method Summary
Modifier and Type Method Description booleancontains(long timeStamp)Prüft, ob ein Zeitstempel in den gespeicherten Intervallen liegt.longgetEndOfAllIntervalls()Liefert das Ende aller Zeitintervalle zurück.longgetEndOfInterval(int index)Liefert das Ende des Zeitintervallsindexzurück.longgetStartOfInterval(int index)Liefert das Anfang des Zeitintervallsindexzurück.booleanisEmpty()Zeigt ob Zeitintervalle im Baum gespeichert sind.intsize()Anzahl der verwalteten Zeitintervalle.java.lang.StringtoString()
-
-
-
Method Detail
-
getStartOfInterval
public long getStartOfInterval(int index)
Liefert das Anfang des Zeitintervallsindexzurück.- Parameters:
index- Index des Zeitintervalls- Returns:
- Ende des Zeitintervalls oder -1, falls ein ungültiger Index verwendet wurde oder keine Zeitstempel verwaltet werden.
-
getEndOfInterval
public long getEndOfInterval(int index)
Liefert das Ende des Zeitintervallsindexzurück.- Parameters:
index- Index des Zeitintervalls- Returns:
- Ende des Zeitintervalls oder -1, falls ein ungültiger Index verwendet wurde oder keine Zeitstempel verwaltet werden.
-
getEndOfAllIntervalls
public long getEndOfAllIntervalls()
Liefert das Ende aller Zeitintervalle zurück. Es wird der größten Zeitstempel zurückgeliefert, der vom Baum verwaltet wird.- Returns:
- Ende aller Zeitintervalls oder -1, falls ein ungültiger Index verwendet wurde oder keine Zeitstempel verwaltet werden.
-
size
public int size()
Anzahl der verwalteten Zeitintervalle.- Returns:
- Anzahl der im Baum gespeicherten Zeitintervalle.
-
contains
public boolean contains(long timeStamp)
Prüft, ob ein Zeitstempel in den gespeicherten Intervallen liegt.- Parameters:
timeStamp- Zeitstempel.- Returns:
true, falls der Zeitstempel innerhalb der gespeicherten Zeitintervalle liegt.falsesonst.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
isEmpty
public boolean isEmpty()
Zeigt ob Zeitintervalle im Baum gespeichert sind.- Returns:
truefalls Zeitintevalle im Baum gespeichert sind.
-
-