Newest Viewed Downloaded

Suche in Texten: Suffix-Bäume Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

Naive Suffix-Baum-Konstruktion

In Ti haben alle Suffixe sufj , j < i bereits einen Ort.  headi = längstes Präfix von sufi, dessen erweiterter Ort in Ti-1 existiert. Definition: taili := sufi – headi, d.h. also sufi = headitaili. taili  .

Naive Suffix-Baum-Konstruktion

Beispiel:  = ababc suf3 = abc head3 = ab tail3 = c T0 = T1 = T2 = ababc ababc babc

Naive Suffix-Baum-Konstruktion

x = erweiterter Ort von headi+1 x v headi+1 taili+1 Ti+1 kann aus Ti wie folgt konstruiert werden: 1. Man bestimmt den erweiterten Ort von headi+1 in Ti und teilt die letzte zu diesem Ort führende Kante in zwei neue Kanten auf durch Einfügen eines neuen Knotens. 2. Man schaffe ein neues Blatt als Ort für sufi+1

Naive Suffix-Baum-Konstruktion

Beispiel:  = ababc babc c babc ababc abc ab T3 T2 head3 = ab tail3 = c

Naive Suffix-Baum-Konstruktion

Algorithmus Suffix-Einfügen Input: Der Baum Ti und der Suffix sufi+1 Output: Der Baum Ti+1 1 v := Wurzel von Ti 2 j := i 3 repeat 4 finde Sohn w von v mit w.u = j+1 5 k := w.u – 1; 6 while k < w.o and k+1 = j+1 do 7 k := k +1; j := j + 1 end while

Naive Suffix-Baum-Konstruktion

8 if k = w.o then v := w 9 until k

Der Algorithmus M

(Mc Creight, 1976) Falls erweiterter Ort von headi+1 in Ti gefunden: Erzeugen eines neuen Knotens und Aufspalten einer Kante  O(1) Zeit.+ Idee: Erweiterter Ort von headi+1 wird in konstanter amortisierter Zeit in Ti bestimmt. (Zusatzinformation erforderlich!)

Analyse des Algorithmus M

Theorem 1 Algorithmus M liefert in Zeit O(| |) einen Suffix-Baum für  mit | | Blättern und höchstens | | - 1 inneren Knoten.

Suffix-Baum Anwendung

Verwendung von Suffix-Baum T: 1 Suche nach Zeichenkette : Folge dem Weg mit Kantenbeschriftung  in T in Zeit O(|  |). Blätter des Teilbaumes Vorkommen von  2 Suche längstes, doppelt auftretendes Wort: Finde Ort eines Wortes mit größter gewichteter Tiefe, der innerer Knoten ist. 3 Suche nach Präfix: Alle Vorkommen von Zeichenketten mit Präfix  finden sich in dem Teilbaum unterhalb des „Ortes“ von  in T.

Suffix-Baum Anwendung

Bereichsgrenzen 4 Bereichssuche nach [, ] :

Suffix-Baum Beispiel

T0 = T1 = bbabaabc suf1 = bbabaabc suf2 = babaabc head2 = b

Suffix-Baum Beispiel

T2 = b abaabc babaabbc T3 = abaabc b abaabc babaabbc suf3 = abaabc suf4 = baabc head3 =  head4 = ba

Suffix-Baum Beispiel

T4 = abaabc b babaabbc a abc baabc Ort von head4 suf5 = aabc head5 = a

Suffix-Baum Beispiel

babaabbc a abc baabc Ort von head5 abc a b T5 = suf6 = abc head6 = ab baabc

Suffix-Baum Beispiel

babaabbc a abc baabc Ort von head6 abc a b T6 = b c aabc suf7 = bc head7 = b

Suffix-Baum Beispiel

babaabbc a abc baabc abc a b T7 = b c aabc c suf8 = c

Suffix-Baum Beispiel

babaabbc a abc baabc abc a b T8 = b c aabc c c

Showing 21 - 37 of 37 items Details

Name: 
17_4_SuffixTrees
Author: 
Sandra Busl
Company: 
N/A
Description: 
Suche in Texten: Suffix-Bäume Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Tags: 
suffix | baum | abc | ort | beispiel | knoten | konstruktion | präfix
Created: 
1/18/2004 1:11:08 PM
Slides: 
37
Views: 
21
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap