FORMELSAMMLUNG (V.1) Programmentwicklung II Alle Formeln ohne Gewähr auf Korrektheit 1) Komplexität: Landau­, O­Notation: O f ={g∣∃ c∈ℝ ∃ n0 ∈ℕ : ∀ n≥n0 : g n≥c⋅f n} f ∈O f f ∈O g⇔ g ∈O f genau dann wenn O f =O g g∈O f O g⊆O f Prüfungskriterium: g n lim =∞ O f ⊂O g n ∞ f n g n lim = c0 O f =O g n ∞ f n g n lim =0 O g⊂O f n ∞ f n Reihenfolge der O­Notations­Klassen: 2 n n O1 ⊂ O log 2 n ⊂ O n ⊂ O n⋅log 2 n ⊂ O n ⊂ O 2 ⊂ O5 ⊂ O n! 2) Verkettete Strukturen: Lineare Listen: Binäre­Bäume: next next next Infos Infos Infos Wurzel Kanten (E) Knoten (V) Blätter einfügen löschen blubber 1 W K 2 K B B B 3 {V}=ø Leerer Baum Höhe 0 Baum mit Wurzel Höhe 1 Grad eines Knotens: Anzahl seiner direkten Nachfolger (2) Blatt: Knoten mit Grad 0 innere Knoten: Knoten mit Grad 1 Stapel: LIFO­Prinzip Schlangen: FIFO­Prinzip: Die Ersten werden die Letzten sein. Wer zuerst kommt mahlt zuerst. 3 2 1 Operationen: TOP: Liefert oberstes Element eines Stapels PUSH: Push legt Element oben auf den Stapel POP: Entfernt oberstes Element auf Stapel Preorder: 1 Besuch: TOP: Liefert oberstes Element einer Schlange PUSH: Push reiht Element hinten in Schlange ein POP: Entfernt oberstes Element in der Schlange Inorder: Bearbeite information, verzweige zum linken Sohn 2 Besuch: Verzweige zum rechten Sohn 3 Besuch: Entferne K vom Stapel Postorder: 1 Besuch: Verzweige zum linken Sohn 1 Besuch: Verzweige zum linkem Sohn 2 Besuch: Bearbeite information verzweige zum rechten Sohn 2 Besuch: Verzweige zum rechten Sohn 3 Besuch: 3 Besuch Entferne K vom Stapel Bearbeite Information in K, Entferne K vom Stapel W- L- R L-W- R Suchbaum: Linker Teilbaum ist kleiner als Wurzel. Rechter Teilbaum ist größer als Wurzel. Linke und Rechte Teilbäume sind Suchbäume 1 2 3 Operationen: L- R -W AVL­Baum: 5 3 2 10 5 6 4 7 Beim Löschen wähle als ersatz grösstes Element im linken Teilbaum. Balancierte Bäume: Gewichtsbalanciert: ∣T L∣≈∣T r∣ Höhenbalanciert: ∣hT L∣≈∣hT r∣ 3 15 8 7 13 9 1 2 3 4 10 5 3 15 8 7 9 AVL­Baum Kein AVL­Baum Es gilt: ∣hT L−hT r ∣≤1 1 2 3 4 Grundoperationen zur Reorganisationen von binären Suchbäumen: RR: Rotation nach Rechts DRR: Doppelte Rotation nach Rechts RL: Rotation nach Links LRR: Doppelte Rotation nach Links 3) Rekursionsgleichungen Teilen und Herschen: T 1 = g1 T n = a⋅T ⌊ a/ b⌋ g n a = Größe der zu lösendenTeilprobleme ⌊ a/ b ⌋ = Größe der Teilprobleme g n = Aufwand zum Aufteilen Hinführung zum Mastertheorem g 1 n=1 f n= k a⋅f n/b g n n=b 1 Mastertheorem c f n= a⋅f n/b c f ∈ { { log n n n=1 k n=b 1 a=1 a1 und =logb a { k f n=∑ ai⋅g i=0 h n= { f ∈ { n b i k mit n=b k f n= ∑ ai⋅g bi−k i=0 c n=1 a⋅f n/ bc⋅n n p p n ⋅log n n p } k n=b 1 a≤b p p } a=b p ab und =log b a