Laufzeit und Komplexität

Größe: px
Ab Seite anzeigen:

Download "Laufzeit und Komplexität"

Transkript

1 Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen und O-Notation Problemgröße Vernachlässigung nicht relevanter Teile, O-Notation Wichtige Komplexitätsklassen und typische Laufzeiten Laufzeitanalyse von Algorithmen Beispiele: Binäre und lineare Suche Medieninformatik Algorithmen und Datenstrukturen 1

2 Motivation Suchen Wie schnell kann man suchen? Medieninformatik Algorithmen und Datenstrukturen 2

3 Suche in einem Feld Ein Feld (Array) a Mit n Elementen im Beispiel n=10 Indiziert von 0 bis n-1 im Beispiel 0 bis 9 Aufsteigend sortiert für alle 0 pos n-1: a[pos] a[pos+1] Problemstellung Suche ein vorgegebenes Element s in a Bestimme Index pos, so dass a[pos] gleich s und gebe pos zurück Falls s nicht in dem Feld gebe n zurück a s Problem: Suche in einem Feld Eingabe: Feld a mit n Elementen Suchwert s Ausgabe: pos falls ein pos existiert mit a[pos] gleich s n sonst Nicht enthalten, Rückgabe 10 Medieninformatik Algorithmen und Datenstrukturen 3

4 Lineare Suche Lineare Suche Idee Teste sequentiell (hintereinander) von links nach rechts alle Feldelemente auf Gleichheit mit Suchwert Sobald gefunden breche ab a ==? s 42 Lineare Suche Algorithmus Initialisiere Indexvariable (Position) pos mit 0 Durchlaufe eine Schleife Falls pos ein korrekter Index ist (innerhalb der Feldgrenzen) und das Element noch nicht gefunden wurde Erhöhe pos um 1 Gebe pos zurück # Lineare Suche pos = 0 while pos < n and a[pos]!= s: pos = pos+1 return pos Medieninformatik Algorithmen und Datenstrukturen 4

5 Laufzeitbetrachtung mit Anzahl Schritten Benchmarking nicht aussagekräftig Implementieren des Algorithmus in spezifischer Programmiersprache Testen mit verschiedenen Eingaben Probleme Abhängig von Hardware, Sprache, Compiler, Implementierungsdetails, Testauswahl Ausführen auf doppelt so schnellem Rechner macht Algorithmus nicht besser/effizienter Besser: Anzahl der Einzelschritte Einzelschritt als abstrakte Zeiteinheit Bestimmung der Anzahl der Einzelschritte Unabhängig von Hardware, Implementierungsdetails (Sprache, Compiler) Probleme, z.b. Testauswahl Im Beispiel ist Element nicht im Feld, also werden alle Elemente getestet Was passiert, wenn das Element im Feld ist? Medieninformatik Algorithmen und Datenstrukturen 5

6 Laufzeitbetrachtung Lineare Suche Analyse Schritte konkretes Beispiel Zuweisung 10 Schleifendurchläufe a 4 Einzelschritte Zwei Tests Feldzugriff Addition Letzter Test Rückgabe Anzahl Schritte = 43 Schritte a s # Lineare Suche pos = 0 while pos < n and a[pos]!= s: pos = pos+1 return pos Medieninformatik Algorithmen und Datenstrukturen 6

7 Abstraktionen für die Laufzeitbetrachtung Abstraktion vom Rechner und der konkreten Implementierung Berechnen der Anzahl der Einzelschritte Basierend auf abstrakter Maschine, möglichst nahe an realer Hardware für Realisierung Einzelschritt Definition eines Einzelschritts zum Beispiel Zuweisung, Addition, Vergleich,... Abstraktion von konkreten Problemen Allgemeine Beschreibung der Eingabeobjekte statt konkrete Werte Festlegung der Größe der Eingabeobjekte, zum Beispiel Feldgröße n Aussagen über besten, mittleren, schlechtesten Fall zum Beispiel Element gefunden, Element nicht gefunden Aussagen für große n, Vernachlässigung von Bestandteilen die unabhängig von n sind Medieninformatik Algorithmen und Datenstrukturen 7

8 Größe der Eingabeobjekte Abstraktion von konkreter Menge an möglichen Eingabeobjekten Das Wesentliche ist meist die Größe Kein einheitliches Maß möglich ein irgendwie hergeleitetes n Meist in Zusammenhang mit Problemstellung Beispiele Feldgröße n (oder Anzahl der Elemente) für Suchen und Sortieren Gleichungssysteme mit m Gleichungen und k Unbekannten, für n kann m k gewählt werden, die Anzahl der Koeffizienten Graphen, für n zum Beispiel Anzahl der Knoten oder Anzahl der Kanten... Medieninformatik Algorithmen und Datenstrukturen 8

9 Bester, mittlerer, schlechtester Fall Bester Fall Konstruktion einer spezifischen Eingabe Mit der minimal möglichen Anzahl von Schritten Meist nicht charakteristische Aussage Mittlerer Fall Bei allen möglichen Eingaben, (oder mit Nebenbedingungen auf relevante Eingaben beschränkt) Durchschnittliche Anzahl von Schritten über alle diese Eingaben Interessante und schwierigste Aussage Schlechtester Fall Konstruktion einer spezifischen Eingabe Mit der maximal möglichen Anzahl von Schritten Relevante und meist machbare Aussage Medieninformatik Algorithmen und Datenstrukturen 9

10 Lineare Suche Bester Fall Eingabe s = a[0] Analyse Zuweisung Schleife einmal mit Vergleich Feldzugriff Vergleich Rückgabe Anzahl Schritte = = 5 Schritte Bester Fall Immer 5 Schritte Unabhängig von Feldgröße a s # Lineare Suche pos = 0 while pos < n and a[pos]!= s: pos = pos+1 return pos Medieninformatik Algorithmen und Datenstrukturen 10

11 Lineare Suche Schlechtester Fall Eingabe s nicht im Feld s a[pos] für alle 0 Analyse Zuweisung Schleife n-mal mit Vergleich Feldzugriff Vergleich Addition Letzter Vergleich Rückgabe Anzahl Schritte pos < n n + 2 = n Schritte Schlechtester Fall Immer 3+4 n Schritte a s # Lineare Suche pos = 0 while pos < n and a[pos]!= s: pos = pos+1 return pos Medieninformatik Algorithmen und Datenstrukturen 11

12 Lineare Suche Mittlerer Fall Eingabe Annahme über Verteilung der Eingabeobjekte muss gemacht werden Position von s im Feld, sowie s nicht im Feld, sind gleichverteilt Analyse Falls s an der Position pos für 0 pos < n: Laufzeit = 2+4 pos + 3 = pos Falls s nicht enthalten: Laufzeit 3 + 4n Vereinfachende Annahme (Feld eins länger, s in a[n]): Laufzeit 5+4n Laufzeit im Mittel ist (bei Gleichverteilung) Summe Laufzeiten für 0 pos n (inklusive nicht enthalten) geteilt durch n+1 Dies entspricht n, Herleitung nächste Seite Anzahl Schritte: n Schritte Mittlerer Fall Im Schnitt n Schritte Ungefähr halb so viel wie im schlechtesten Fall (entspricht Intuition) Medieninformatik Algorithmen und Datenstrukturen 12

13 Herleitung Mittlerer Fall Summe der möglichen Laufzeiten durch Anzahl mögliche Laufzeiten n i=0 5 4 i n 1 Konstanten rausziehen Summe aufspalten n i=0 5 n 1 4 i=0 n 1 n i Summen auflösen Gauß (Induktionsbeweis) 5 n 1 n 1 4 n n 1 2 n 1 Vereinfachen 5 4 n n 1 2 n 1 Vereinfachen 5 2 n Medieninformatik Algorithmen und Datenstrukturen 13

14 Aussagen über Algorithmenlaufzeit Man sucht nach relativen Aussagen über Skalierbarkeit Bei Verdopplung der Eingabegröße braucht der Algorithmus doppelt so lang Interessant ist Relative Lage Für große n Beispiel Schlechteste Laufzeit bei linearer Suche 3+4n Vernachlässigen kleinerer Funktionsteile 4n Vernachlässigen von Konstanten n Aussage Bei Verdopplung von n doppelt so lange Medieninformatik Algorithmen und Datenstrukturen 14

15 Vernachlässigen kleiner Funktionsteile Vernachlässigen kleiner Funktionsteile Idee Aussagen von Laufzeitfunktion für große n Konzentration auf den am stärksten wachsenden Teil der Funktion Beispiel: 4n statt 3 + 4n Für kleine n ist der Unterschied zwischen 3 + 4n und 4n relativ groß Bei n = 2 ist die Abweichung rund 20 Prozent Aber bei ~ 1 Million Schritte pro Sekunde liegt der Fehler im Mikrosekundenbereich Für große n ist der Fehler relativ zu der Zahl minimal Schon bei n = 10,000 ist der Fehler kleiner als ein Hundertstel eines Prozents und die Gesamtlaufzeit noch kleiner als eine Sekunde Je größer n, desto geringer der Fehler 3+4n 4n Medieninformatik Algorithmen und Datenstrukturen 15

16 Vernachlässigen von Konstanten Vernachlässigen von Konstanten Aussagen von Laufzeitfunktionen unabhängig von Hardware Konstante Faktoren repräsentieren Dauer eines Schritts Ignorieren von konstanten Faktoren Beispiel: n statt 4n Der Unterschied zwischen 4n und n ist ein konstanter Faktor Aussagen wie Bei Verdopplung der Eingabegröße braucht der Algorithmus doppelt so lange werden dadurch nicht beeinträchtigt Konstante Faktoren sind typischerweise abhängig von weg abstrahierten Eigenschaften n statt 4n könnte durch 4 mal schneller Maschine erreicht werden Annahme, dass Einzelschritt nur ein Viertel Zeiteinheit braucht 4n n Medieninformatik Algorithmen und Datenstrukturen 16

17 Zuordnung von Klassen zu Funktionen Idee Gruppieren von Funktionen Vernachlässigen und Reduktion aufs Wesentliche Wenn zwei Funktionen nach Vernachlässigung und Reduktion identisch sind, dann gehören Sie zu der gleichen Klasse Namen für die wichtigsten Klassen Formal O-Notation (asymptotisch obere Schranken) Beispiel: Lineare Suche Laufzeitfunktion T(n) = n Vernachlässigung: n 4 n n, T(n) ist linear n ist auch linear Weitere Beispiele n + 5 n² 5 n² n² quadratisch n + 3 n³ 3 n³ n³ kubisch log n 4 log n log n logarithmisch n n 3 2 n 2 n exponentiell Medieninformatik Algorithmen und Datenstrukturen 17

18 O-Notation T O(g) T wächst nicht schneller als g g ist eine asymptotische obere Schranke von T Ab einem bestimmten n wächst g schneller als T Ab einem bestimmten n ist für ein bestimmtes c der Wert c g(n) immer größer als T(n) Formale Spezifikation T O(g) Es existiert eine Konstante c 0 eine Konstante n 0 0 so dass für alle n n 0 gilt, dass T(n) c g(n) n 0 c g(n) T(n) c 0 n 0 0 n n 0 : T n c g n Medieninformatik Algorithmen und Datenstrukturen 18

19 O-Notation Andere Symbole Alternative Schreibweise: T = O(g) Eigentlich T O(g), aber = Notation hat sich eingebürgert Sprechweise bleibt, T ist in O von g Notationsproblem Achtung bei Gleichungsketten: Gleichheit gilt nicht!!! g = (T) genau dann wenn T = O(g) g wächst mindestens so schnell wie T T = (g) genau dann wenn T = O(g) und g = O(T) T und g sind von der gleichen Wachstumsordnung Sinnvoll für gute Abschätzungen Medieninformatik Algorithmen und Datenstrukturen 19

20 Rechnen mit der O-Notation Zugehörigkeit zu Komplexitätsklassen f = O(f) O(O(f)) = O(f) Ignorieren von Konstanten möglich, für c Konstante c O(f) = O(f) O(c f) = O(f) O(f+c) = O(f) Addition (Maximum) O(f) + O(g) = O(max(f,g)) O(c 0 + c 1 n + c 2 n c k n k ) = O(n k ) Multiplikation (bleibt Multiplikation) O(f) O(g) = O(f g) Es gilt O(1) < O(log(n)) < O (n) < O (n log(n)) < O(n 2 ) <... < O(2 n ) Medieninformatik Algorithmen und Datenstrukturen 20

21 Einfluss auf die Analyse Initialisierung Ignorieren von Konstanten Einfache Initialisierung und Aufräumen kann ignoriert werden f und h nicht von n abhängig, das heißt konstant Beispiel Lineare Suche Initialisierung i = 0 ignorieren Rückgabe ignorieren // Algorithmus A, Konstanten f g(n) h O(A) = O(f) + O(g) + O(h) = O(g) # Lineare Suche i = 0 while i < n and a[i]!= s: i = i+1 return i Medieninformatik Algorithmen und Datenstrukturen 21

22 Einfluss auf die Analyse Sequenz, Verzweigung Verzweigung und Sequenz Addition der Teile entspricht Maximum Sequenz Bei hintereinander ausgeführten Algorithmenteilen wird der einfachere vernachlässigt Verzweigung Abschätzung nach oben, Maximum der beiden Verzweigungsmöglichkeiten // Algorithmus A, Sequenz f g O(A) = O(f) + O(g) = O(max(f,g)) // Algorithmus B, Verzweigung if t: f else: g h O(B) = O(t) + O(max(f,g)) + O(h) = O(max(t,f,g,h)) Medieninformatik Algorithmen und Datenstrukturen 22

23 Sequenz, Verzweigung in Linearer Suche Einmaliger Durchlauf der while-schleife Sequenz bei Durchlauf Schleife Bei hintereinander ausgeführten Algorithmenteilen wird der einfachere vernachlässigt Erster Vergleich, dann Feldzugriff, dann zweiter Vergleich, dann Addition Alles konstant (O(1)), also gesamt konstant Verzweigung bei Abbruch Schleife Maximum der beiden Verzweigungsmöglichkeiten Entweder erster Test klappt nicht, oder zweiter Test klappt nicht Alles konstant, also gesamt konstant Einmaliger Durchlauf while-schleife ist O(1) # Lineare Suche i = 0 while i < n and a[i]!= s: i = i+1 return i Medieninformatik Algorithmen und Datenstrukturen 23

24 Einfluss auf die Analyse Schleife Schleife ist Multiplikation Häufigkeit in Abhängigkeit von n in der Schleifenkörper durchlaufen wird Multiplizieren mit dieser Häufigkeit Annahme: O(t) O(f) // Algorithmus A, Schleife while t: f O(A) = O(f) Anzahl Durchläufe in Abhängigkeit von n For-Schleife n-maliges Durchlaufen Mit n multiplizieren Beispiel n-maliges Durchlaufen (for Schleife) Linearer Algorithmus f n O(n) = O(n) O(n) = O(n²) // Algorithmus A, for-schleife for i in 1..n: f O(A) = O(f) n Medieninformatik Algorithmen und Datenstrukturen 24

25 Schleife in Linearer Suche Anzahl der Durchläufe Im besten Fall 1 mal (O(1)) Im schlechtesten Fall n mal (O(n)) Im mittleren Fall n/2 mal (O(n)) Anzahl Durchläufe O(n) Zusammengefasst Schleifenkörper O(1) Anzahl Durchläufe O(n) Initialisierung und Ende O(1) Gesamt: O(n) # Lineare Suche i = 0 while i < n and a[i]!= s: i = i+1 return i Medieninformatik Algorithmen und Datenstrukturen 25

26 O statt T Laufzeit T(n) T ist Funktion, die die Anzahl der Elementarschritte eines Algorithmus in Abhängigkeit der Eingabegröße n berechnet Genau für konkrete Laufzeit Schwierig zu berechnen (viel Fallunterscheidung) Nicht direkt aussagekräftig für Skalierungsaussagen Komplexität O(T(n)) Zuordnung einer Laufzeitfunktion T zu einer Klasse von Funktionen Ungenau für konkrete Laufzeit Viel leichter zu berechnen Sofort aussagekräftig für relevante Skalierungsaussagen Aussagen über Effizienz von Algorithmen Angabe von O(T(n)), asymptotische obere Grenze Meist Angabe von f mit T(n) = (f), gleiches Wachstum Medieninformatik Algorithmen und Datenstrukturen 26

27 Bezeichnungen O(1): konstant O(log i (n)): logarithmisch (Basis i egal) O(n): linear O(n log i (n)): keine Bezeichnung, trotzdem sehr wichtig! O(n²): quadratisch O(n³): kubisch O(nk ): polynomiell (bzw. polynomiell begrenzt), beliebiges k O(2n ): exponentiell Medieninformatik Algorithmen und Datenstrukturen 27

28 Typische Laufzeiten polynomiell exponentiell Logarithmisch, linear und n log(n) sind gut handhabbar Höhergradig polynomiell meist machbar Exponentiell ist massiv unangenehm Grenze des praktisch Lösbaren Medieninformatik Algorithmen und Datenstrukturen 28

29 Typische Beispiele in den Klassen O(1): Feldzugriff, Hashing O(log i (n)): Binäre Suche O(n): Lineare Suche O(n log i (n)): Sortieren schnell O(n²): Sortieren langsam, kürzeste Wege O(nk ): Simplex (Praxis) O(2n ): Simplex (Theorie), Aussagenlogik, Ganzzahlige Optimierung Medieninformatik Algorithmen und Datenstrukturen 29

30 Kritik O-Notation und vorgestellte Herangehensweise Grobe Abschätzung Gute Informationen für schlechtesten Fall und große Probleme (Skalierung) Praxis Konstanter Faktor nicht berücksichtigt. Wichtig für Benutzerinteraktion ob 0,2 oder 2 Sekunden Wartezeit Wenn Problemgröße beschränkt ist, kann ein laut O-Notation schlechteres Verfahren besser sein Spezielle Hardware wird nicht berücksichtigt (nur implizit Beispiel: Termauswertung als Elementaroperation) Mittelwert kann wichtiger sein (Beispiel Simplex) Mitdenken nicht vergessen! (Gilt öfter ;-) Medieninformatik Algorithmen und Datenstrukturen 30

31 Komplexität Problem/Algorithmus Nicht verwechseln! Verschiedene Lösungsalgorithmen für ein Problem möglich Komplexität eines Problems Zugehörigkeit zur Komplexitätsklasse der Laufzeit des besten Algorithmus Beispiel: Suche in sortiertem Feld, Komplexität O(log(n)) Komplexität eines Algorithmus Zugehörigkeit Komplexitätsklasse der Laufzeit dieses Algorithmus Beispiel: Suche in sortierten Feld mit linearer Suche, Komplexität O(n) Komplexität eines Problems schwierig zu bestimmen Komplexität einer Problemklasse schwierig zu bestimmen Bekanntestes Beispiel: P NP Beweis steht noch aus!! P Klasse Polynomieller Probleme NP Klasse Nichtdeterministisch Polynomieller Probleme (nur exponentielle Algorithmen zur Lösung bisher bekannt) Medieninformatik Algorithmen und Datenstrukturen 31

32 Suchen Lineare Suche Suchen Problemgröße: n, Anzahl der Feldelemente Komplexität: O(n) Beste: O(1) Mittlere: O(n) Schlechteste: O(n) Keine Voraussetzungen an Liste Suchen in sortierter Liste Wenn Liste sortiert, dann geht es besser... a s # Lineare Suche pos = 0 while pos < n and a[pos]!= s: pos = pos+1 return pos Medieninformatik Algorithmen und Datenstrukturen 32

33 Suchen in Sortierter Liste Binäre Suche Suchen in sortierter Liste Problemgröße: n, Anzahl der Feldelemente Komplexität: O(log n) Beste: O(1) Mittlere: O(log n) Schlechteste: O(log n) Liste muss sortiert sein 0 i n 1 :a[i] a[i 1] Suche in sortierten und unsortierten Feldern sind zwei unterschiedliche Probleme a s # Binäre Suche li = 0 re = n-1 while re >= li: x = (li+re)/2 if s == a[x]: return x if s < a[x]: re = x-1 else: li = x+1 return n Medieninformatik Algorithmen und Datenstrukturen 33

34 Binäre Suche Beispiel Halbiere den Suchbereich Bis gefunden oder Suchbereich leer a s # Binäre Suche li = 0 re = n-1 while re >= l: x = (li+re)/2 if s == a[x]: return x if s < a[x]: re = x-1 else: li = x+1 return n li=0 li=5 li=5 re=6 li=re= 6 re=6 li=7 nicht gefunden re=9 re=9 Medieninformatik Algorithmen und Datenstrukturen 34

35 Binäre Suche Rekursiv Rekursiver Algorithmus bs_rek Aufruf mit bs_rek(0, n-1) Reduktion auf Teilfeld, halbiere Problemgröße Suche in Teilfeld, Löse halb so großes Problem Terminierung wenn Teilfeld leer oder gefunden, Problem trivial Typische Rekursion Löse Problem durch Problemreduktion Lösen des kleineren Problems durch rekursiven Aufruf Abfangen trivialer Fall Keine explizite Schleife mehr # Binäre Suche rekursiv # a, n vorhanden def bs_rek(li, re): if re < li: return n x = (li+re)/2 if s == a[x]: return x if s < a[x]: return bs_rek(li, x-1) else return bs_rek(x+1, re) Medieninformatik Algorithmen und Datenstrukturen 35

36 Analyse der Binären Suche Betrachtung schlechtester Fall Element nicht gefunden Schleife wird beendet wenn li und re sich treffen Wenn li und re sich treffen noch genau ein Durchlauf (konstant, ignoriert) Bei jedem Durchlauf wird Abstand von l und r halbiert Initial ist der Abstand n Beim zweiten Durchlauf n/2 Beim dritten Durchlauf n/4... Schleife wird log(n) mal durchlaufen, O(log(n)) [formal folgt] Anweisungen innerhalb Schleife konstant Anweisungen sind unabhängig von n, also konstant Einfluss Anweisungen wird ignoriert, O(1) Komplexität Binäre Suche: O(log(n)) Medieninformatik Algorithmen und Datenstrukturen 36

37 Analyse Binäre Suche Rekurrenz Laufzeit der binären Suche Was ist T(n)? Rekursiver Aufruf Halb so großes Problem T(n/2) Anweisungen in Funktion Unabhängig von n Konstant c, O(1) Es gilt also T(n) = T(n/2) + c # Binäre Suche rekursiv # a, n vorhanden def bs_rek(li, re): if re < li: return n x = (li+re)/2 if s == a[x]: return x if s < a[x]: return bs_rek(li, x-1) else return bs_rek(x+1, re) eine Rekurrenz-Beziehung Medieninformatik Algorithmen und Datenstrukturen 37

38 Auflösen der Rekurrenz Lösen der Rekurrenz: T(n) = T(n/2) + c Annahme: T(1) konstant d, n = 2 k T(2 k ) = T(2 k-1 ) + c = T(2 k-2 ) + c + c = T(2 k-3 ) + c + c + c... = T(2 k-k ) + k c = d+ k c T(2 k ) ~ k Es gilt log 2 (2 k ) = k, Anzahl Ziffern Binärdarstellung Also ist Laufzeit für diesen Fall logarithmisch Beliebige n, obere Abschätzung mit nächster Zweierpotenz Verlängern des Feldes auf das nächste 2 k, 2 k-1 < n 2 k T(n) O(log 2 (n)) da T(2 k-1 ) = T(2 k-2 ) + c da T(2 k-2 ) = T(2 k-3 ) + c Medieninformatik Algorithmen und Datenstrukturen 38

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Numerische Verfahren und Grundlagen der Analysis

Numerische Verfahren und Grundlagen der Analysis Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de 1. Herr Meier bekommt nach 3 Jahren Geldanlage 25.000. Er hatte 22.500 angelegt. Wie hoch war der Zinssatz? 2. Herr Meiers Vorfahren haben bei der Gründung Roms (753. V. Chr.) 1 Sesterze auf die Bank gebracht

Mehr

Wirtschaftsinformatik I

Wirtschaftsinformatik I Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Komplexität und Komplexitätsklassen

Komplexität und Komplexitätsklassen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 21 vom 21.01.2013 Komplexität und Komplexitätsklassen Die meisten Probleme mit denen wir zu tun haben sind entscheidbar.

Mehr

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Sortieren durch Einfügen Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Schon wieder aufräumen Schon wieder Aufräumen, dabei habe ich doch erst neulich man findet alles schneller wieder Bücher auf Regal

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Teile und Herrsche Teil 2

Teile und Herrsche Teil 2 Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10 Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29 1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian

Mehr

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1 B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,

Mehr

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen 1 3.2. entenrechnung Definition: ente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren entenperiode = Zeitabstand zwischen zwei entenzahlungen Finanzmathematisch sind

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Behandelte Fragestellungen Was besagt eine Fehlerquote? Welche Bezugsgröße ist geeignet? Welche Fehlerquote ist gerade noch zulässig? Wie stellt

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Steuerstrukturen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Steuerstrukturen Steuerstrukturen Verzweigungen Alternativen abweisende nichtabweisende

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN Zinsen haben im täglichen Geschäftsleben große Bedeutung und somit auch die eigentliche Zinsrechnung, z.b: - Wenn Sie Ihre Rechnungen zu spät

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls

Mehr

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation Übungsaufgaben Anmerkung Allen Beispielen soll noch hinzugefügt sein, dass wertvolle Hinweise, also die Tipps und Tricks die der schnellen maschinellen Multiplikation zu Grunde liegen, neben dem toff zur

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen Probleme beim Arbeiten mit Variablen, Termen und Gleichungen Tage des Unterrichts in Mathematik, Naturwissenschaften und Technik Rostock 2010 Prof. Dr. Hans-Dieter Sill, Universität Rostock, http://www.math.uni-rostock.de/~sill/

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Lineare Gleichungssysteme I (Matrixgleichungen)

Lineare Gleichungssysteme I (Matrixgleichungen) Lineare Gleichungssysteme I (Matrigleichungen) Eine lineare Gleichung mit einer Variable hat bei Zahlen a, b, die Form a b. Falls hierbei der Kehrwert von a gebildet werden darf (a 0), kann eindeutig aufgelöst

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Rekursionen (Teschl/Teschl 8.1-8.2)

Rekursionen (Teschl/Teschl 8.1-8.2) Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

n 0 1 2 3 4 5 6 7 8 9 10 11 12 S n 1250 1244, 085 1214, 075 1220, 136 1226, 167 Nach einem Jahr beträgt der Schuldenstand ca. 1177,09.

n 0 1 2 3 4 5 6 7 8 9 10 11 12 S n 1250 1244, 085 1214, 075 1220, 136 1226, 167 Nach einem Jahr beträgt der Schuldenstand ca. 1177,09. Gymnasium Leichlingen 10a M Lö 2007/08.2 2/2 Aufgaben/Lösungen der Klassenarbeit Nr. 4 von Fr., 2008-04-25 2 45 Aufgabe 1: Die A-Bank bietet Kredite zu einem Zinssatz von 6% pro Jahr an. Ein privater Keditvermittler

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

BMS Aufnahmeprüfung Jahr 2014 Basierend auf Lehrmittel: Mathematik (Schelldorfer)

BMS Aufnahmeprüfung Jahr 2014 Basierend auf Lehrmittel: Mathematik (Schelldorfer) Bildungsdirektion des Kantons Zürich Mittelschul- und Bildungsamt BMS Aufnahmeprüfung Jahr 2014 Basierend auf Lehrmittel: Mathematik (Schelldorfer) Fach Mathematik Teil 1 Serie A Dauer 45 Minuten Hilfsmittel

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik Abitur 8 II. Insektenpopulation LA/AG In den Tropen legen die Weibchen einer in Deutschland unbekannten Insektenpopulation jedes Jahr kurz vor Beginn der Regenzeit jeweils 9 Eier und sterben bald darauf.

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr