Class BinaryTree
- java.lang.Object
-
- de.bsvrz.pua.prot.processing.util.BinaryTree
-
public class BinaryTree extends java.lang.Object
Balancierter 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 boolean
contains(long timeStamp)
Prüft, ob ein Zeitstempel in den gespeicherten Intervallen liegt.long
getEndOfAllIntervalls()
Liefert das Ende aller Zeitintervalle zurück.long
getEndOfInterval(int index)
Liefert das Ende des Zeitintervallsindex
zurück.long
getStartOfInterval(int index)
Liefert das Anfang des Zeitintervallsindex
zurück.boolean
isEmpty()
Zeigt ob Zeitintervalle im Baum gespeichert sind.int
size()
Anzahl der verwalteten Zeitintervalle.java.lang.String
toString()
-
-
-
Method Detail
-
getStartOfInterval
public long getStartOfInterval(int index)
Liefert das Anfang des Zeitintervallsindex
zurü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 Zeitintervallsindex
zurü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.false
sonst.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- See Also:
Object.toString()
-
isEmpty
public boolean isEmpty()
Zeigt ob Zeitintervalle im Baum gespeichert sind.- Returns:
true
falls Zeitintevalle im Baum gespeichert sind.
-
-