Sommersemester 2005 Abgabe am 20.5.2005 Prof. Dr. Stefan Posch, Dipl.-Inf. Birgit M¨oller
5. ¨ Ubung
” Algorithmen der Bioinformatik I“
1. Gegeben sei ein StringS, in dem das Abschlußzeichen $ nicht vorkommt.
(a) Warum wird der StringS mit einem Abschlußzeichen versehen, wenn der zugeh¨orige Suffix- baum aufgebaut wird?
(b) Zeigen Sie, dass f¨ur den SuffixbaumST(S$)gilt: Anzahl der inneren Knoten≤ |S$|.
(c) Zeigen Sie, dass f¨ur den SuffixbaumST(S$)gilt: Anzahl der Kanten≤2|S$| −1.
2. Zeigen Sie, dass das Finden eines MustersP der L¨ange n in einem Text, unter Verwendung eines Suffixbaums des Textes, inO(n)Zeit geschieht und dass dask-malige Finden des Musters inO(n+k) m¨oglich ist.
3. Programmieraufgaben:
a) Implementieren Sie den Write Only Top Down Algorithmus zur Konstruktion eines Suffixbaums zu einem gegebenen TextT. Die Baumstruktur und der Inhalt des Baums sollen mit einer Funk- tion ausgegeben werden k¨onnen. Diese Funktion ist nach jedem Iterationsschritt des Write Only Top Down Algorithmus aufzurufen.
b) Implementieren Sie eine Funktion, die ein gegebenes MusterP in einem gegebenem Suffixbaum ST(T$)eines TextesT sucht. Geben Sie die Anfangsindizes aller Vorkommen vonP inT aus.