Bioinformatik für Biochemiker
|
|
|
- Herbert Brahms
- vor 7 Jahren
- Abrufe
Transkript
1 Bioinformatik für Biochemiker Oliver Kohlbacher WS 2009/ Paarweises Alignment Teil I Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht Paarweises Alignment Anzahl möglicher Alignments Komplexität von Algorithmen Needleman-Wunsch-Algorithmus Komplexität Umsetzung in Python 2 Ähnlichkeit und Distanz Wie kann man die Ähnlichkeit zweier Sequenzen beschreiben? Einfachste Möglichkeit: Zählen identischer Zeichen GATCGTTCG CATGGTTGA Problem: Was bei Sequenzen unterschiedlicher Länge? GATCGTTCG GATCGTTCG- GATCGTTCG ---GGTTGA G---GTT-GA -GGTTGA-- Ähnlichkeit: (Anzahl Matches) Analog die Distanz (Anzahl Mismatches):
2 Ähnlichkeit und Distanz Bei der Suche nach dem besten Alignment hat man zwei äquivalente Möglichkeiten Minimiere die Distanz Maximiere die Ähnlichkeit (Score) Distanzfunktionen und Ähnlichkeitsfunktionen gibt es in Hülle und Fülle. Einige werden wir nächste Woche im Detail besprechen. Für heute werden wir die bereits aus der letzten Vorlesung bekannte Funktion verwenden, die einfach Mismatches zählt: Naiver Algorithmus Naiv kann man ein optimales Alignment mit folgendem Algorithmus berechnen: min_dist à A + B Für jedes Alignment (A, B ) von A und B: Wenn d(a, B ) < min_dist: min_dist à d(a, B ) bestes_alignment à (A, B ) Gib min_dist, bestes_alignment aus Frage: Wie lange benötigt dieser Algorithmus zum Berechnen aller Alignments zweier Proteine der Länge 500? Anzahl möglicher Alignments Nehmen wir zwei Sequenzen A und B der Länge n an Im schlimmsten Fall enthält das Alignment n Gapsymbole je Sequenz und hat die Länge 2n, im einfachsten Fall keine Gaps: ACGTA----- ACGTA -----TAGCA TAGCA Ein Alignment mit 0 k n Gaps je Sequenz hat n + k Spalten in die man k Gaps platzieren kann Es gibt also dieser Gaps unterschiedliche Möglichkeiten der Platzierung In der zweiten Sequenz kann man die k Gaps nur noch an die (n + k) - k = n Positionen ohne Gaps setzen Insgesamt gilt also für die Anzahl Alignments: 2
3 Anzahl möglicher Alignments Durch ähnliche Überlegungen kann man herleiten, dass für Sequenzen beliebiger Längen n und m für die Anzahl möglicher Alignments gilt: Mit Hilfe der Stirling-Formel kann man diese Zahl für große n und m mit m ¼ n zu 2/π 4 n annähern (Details bitte glauben!) Anzahl möglicher Alignments wächst exponentiell mit n: n 2/π 4 n 10 ~ ~ ~ ~ Erzeugen aller Alignments Beispielrechnung: Aktuelle Rechner arbeiten mit Taktfrequenzen um 3 GHz Könnte(!) ein Computer je ein Alignment pro Taktzyklus auswerten, würde er für die Alignments zweier Proteine der Länge / / / 365 = Jahre benötigen Explizite Auswertung aller möglichen Alignments ist also keine sinnvolle Option ) Was uns fehlt ist der richtige Algorithmus! Laufzeitanalyse for i in range(n): for j in range(n): for k in range(n): a = a + for i in range(n): a = a + for i in range(5*n): a = a + for i in range(10*n): a = a + Möchte man die Laufzeit zweier Programme analysieren, so zählt man üblicherweise die Rechenoperationen, die auszuführen sind. Interessant ist dabei der Vergleich, wie die Zahl mit der Größe der Eingabe (z.b. Sequenzlänge n) variiert In den obigen Beispielen können wir zum Beispiel die Anzahl der Additionen ( a = a + ) betrachten. n = 3 n = 20 Links: 3 * 3 * 3 = 27 Additionen20 * 20 * 20 = 8000 Rechts: = 48 Additionen = 320 3
4 O-Notation In der Informatik verwendet man die so genannte O- Notation um das asymptotische Laufzeitverhalten eines Algorithmus in Abhängigkeit von der Eingabe (seine Komplexität) anzugeben Diese Notation vernachlässigt alle konstanten Faktoren, beschreibt also nur die Stärke des Wachstums der Rechenzeit mit der Eingabegröße Für unseren Algorithmus zur Berechnung der Distanz ist die Laufzeit z.b. O(n), wobei n die Länge der beiden Sequenzen ist Eine Verdopplung der Eingabelänge bewirkt also eine Verdopplung der Laufzeit Ein Algorithmus der O(n 2 ) Zeit benötigt, würde für eine doppelt so große Eingabe die vierfache Zeit benötigen O-Notation O-Notation sagt nichts darüber aus, ob eine bestimmte Problemgröße mit einem Algorithmus lösbar ist! Stattdessen trifft sie eine Aussage darüber, wie der Algorithmus beim Übergang zu immer größeren Probleminstanzen skaliert Algorithmen mit besserer Komplexität können für sehr kleine Probleminstanzen langsamer sein (und sind es auch oft) Naives Alignment Welche Komplexität hat nun unser naiver Alignmentalgorithmus? Wir zählen einfach triviale Operationen, z.b. Zuweisungen Für die Laufzeitanalyse sind dabei insbesondere Schleifen sehr wichtig Hier: Wir erzeugen alle (ca. 4 n ) Alignments Für jedes Alignment werten wir die Distanz aus (O(n)) Insgesamt benötigt der Algorithmus also O(n 4 n ) Zeit Asymptotisch (für große n) spielt der lineare Term keine Rolle, die Laufzeit ist also O(4 n ) ) Laufzeit ist exponentiell in der Sequenzlänge n 4
5 Exponentielle Laufzeit Algorithmen mit exponentieller Laufzeit sind nur für sehr kleine Problemgrößen handhabbar Nach unserer einfachen Abschätzung erreichen wir bereits bei Sequenzen der Länge 26 Rechenzeiten von einem Jahr! Andererseits ist die überwältigende Mehrheit aller exponentiell vielen möglichen Alignments offensichtlich nicht optimal uns interessieren aber nur optimale Alignments! Ein Großteil der Rechenzeit wird auf offensichtlich unsinnige Alignments vergeudet! Wie können wir nun optimale Alignments berechnen ohne alle Alignments explizit berechnen zu müssen? worksheets/html/ex1wk1.html Alignments Berechnen des Scores zweier Alignments von A = ACGTAGTAGCA und B = ACTTAGTACGT ACGTAGTAGC-A ACGTAGTA-GCA ACTT-GTACGTA ACTTG-TACGTA Beobachtung: Die Alignments der Präfixe der Länge vier von A und B sind identisch. Damit auch die Scores der Alignments dieser Präfixe. ) Wir berechnen die Scores vieler Teilalignments immer wieder! Idee: Merke die besten Scores dieser Teilalignments und berechne sie nicht ständig neu. Konstruktion von Alignments A = ACGTAGTAGCA und B = ACTTGTACGTA Das Alignment der Präfixe A[1..i] und B[1..j] kann nur auf eine der folgenden drei Möglichkeiten enden: A A - Bsp.: ACGT- G - G ACTTG 1. Fall: A mit G 2. Fall: A mit - 3. Fall: - mit G Jedem der drei Fälle entspricht ein Präfixalignment der vorhergehenden Spalten: 1. Fall: A[1..i-1] mit B[1..j-1] 2. Fall: A[1..i-1] mit B[1..j] 3. Fall: A[1..i] mit B[1..j-1] 5
6 Konstruktion von Alignments Formal: Alignment für A[1..i] und B[1..j] endet in a i mit b j, a i mit ε oder ε mit b j Distanz des Alignments ergibt sich aus Distanz des jeweiligen Präfixalignments ohne die letzte Spalte und Distanz der neuen Spalte: d i-1,j-1 + d(a i, b j ) d i-1,j + d(a i, ε) d i,j-1 + d(ε, b j ) Für die Distanz optimaler Alignments ist natürlich nur das Minimum davon interessant: min(d i-1,j-1 + d(a i, b j ), d i-1,j + d(a i, ε), d i,j-1 + d(ε, b j )) ist ein Ansatz zur Lösung von Optimierungsproblemen, bei dem bereits berechnete Teillösungen abgespeichert werden In unserem Fall speichern wir die bereits berechneten Distanzen von Präfixalignments Dadurch lässt sich die ständige Neuberechnung dieser Alignments vermeiden ist eine wichtige Technik in der Bioinformatik, die z.b. auch in der Proteinstruktur-Vorhersage Anwendung findet Wir wollen nun unser Alignment-Problem mit Hilfe der dynamischen Programmierung lösen und den Algorithmus in Python implementieren Gegeben: Sequenzen A, B mit A = m, B = n Distanzfunktion d(a, b) 1, falls a b 0, falls a = b Gesucht: optimales Alignment Ansatz Merke bereits berechnete Teilergebnisse in (m+1)x(n+1)- Matrix D Matrixelement D i,j enthält dann die Distanz für ein optimales Alignment von A [1..i] und B[1..j] - A C G T D 0,0 D 1,1 D m,n 6
7 Die 0. Spalte/Zeile der Matrix beschreibt Alignments die mit einem Gapzeichen beginnen Gemäß unserer Überlegung über Präfixalignments gilt für die Matrixelemente: Damit ergibt sich der Inhalt einer Zelle der Matrix aus den Werten der drei Nachbarzellen links, oben und links oben - A C G T D 0,0 D m,n Mit dieser einfachen Rechenanweisung lassen sich die Einträge der Matrix Element für Element ausfüllen Das untere rechte Element D i,j enthält nach Konstruktion die gesuchte Distanz des optimalen Alignments! Die Konstruktion der Matrix wollen wir nun am Beispiel nachvollziehen - A C G T D 0,0 D m,n Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert - 0 A C G T 7
8 Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert. Die Einträge D 0,j und D i,0 entsprechen Alignments nur mit Gaps: D 3,0 entspricht dem Alignment AGC A C G T Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert. Die Einträge D 0,j und D i,0 entsprechen Alignments nur mit Gaps: D 3,0 entspricht dem Alignment AGC --- D 3,0 hat daher den Wert A C G T Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert. Die Einträge D 0,j und D i,0 entsprechen Alignments nur mit Gaps: D 3,0 entspricht dem Alignment AGC --- D 3,0 hat daher den Wert 3 Die übrigen Werte analog A 1 C 2 G 3 T 4 8
9 Die restliche Tabelle wird nun nach obiger Gleichung eingesetzt Wir berechnen jeweils das Minimum der drei benachbarten Matrixelemente und der zugehörigen Distanzen D 1,1 = min( D 0,1 + d(-, A), D 0,0 + d(a,a), D 1,0 + d(a,-)) = 0 A 1 C 2 G 3 T 4 Die restliche Tabelle wird nun nach obiger Gleichung eingesetzt Wir berechnen jeweils das Minimum der drei benachbarten Matrixelemente und der zugehörigen Distanzen D 1,1 = min( D 0,1 + d(-, A), D 0,0 + d(a,a), D 1,0 + d(a,-)) = 0 A C 2 G 3 T 4 Die restliche Tabelle wird nun nach obiger Gleichung eingesetzt Wir berechnen jeweils das Minimum der drei benachbarten Matrixelemente und der zugehörigen Distanzen D 1,1 = min( D 0,1 + d(-, A), D 0,0 + d(a,a), D 1,0 + d(a,-)) = 0 A C G T
10 Ausfüllen der DP-Matrix liefert in D m,n die optimale Distanz Problem: Distanz alleine reicht nicht wie findet man das zugehörige Alignment? Wir wissen für jedes Matrixelement, auf welche Weise das Minimum erzeugt wurde (von oben, links, diagonal) Speichere Richtung in zweiter Matrix T Verfolge Pfad zurück A C G T Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Diagonal von (4,3) nach (3,2) T C A C G T Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Diagonal von (3,2) nach (2,2) GT GC A C G T
11 Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Vertikal von (2,1) nach (1,1) CGT -GC A C G T Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Diagonal von (1,1) nach (0,0) ACGT A-GC A C G T Mehrdeutigkeit der Lösung Es gibt in der Regel nicht ein optimales Alignment, sondern mehrere gleich gute Alternativen ACGG und TT ACGG ACGG ACGG ACGG TT-- T T --TT -TT- All diese Alignments (und noch einige mehr) haben die gleiche Distanz (4). Bessere Distanzen sind nicht möglich! Die unterschiedlichen Lösungen entsprechen unterschiedlichen Pfaden durch die Matrix Sie entstehen dadurch, dass das Minimum der drei Möglichkeiten zu identischen Distanzen führt Unser Algorithmus liefert nur eines dieser Alignments! 11
12 Needleman-Wunsch-Algorithmus Der eben beschriebene Algorithmus, der optimale paarweise Alignments mit dynamischer Programmierung findet, wurde 1970 von Saul Needleman und Christian Wunsch vorgestellt Er wird daher häufig auch Needleman-Wunsch- Algorithmus genannt und ist einer der Grundalgorithmen der Sequenzanalyse Eine gute Möglichkeit den Algorithmus im Detail auszuprobieren haben Sie in den Übungen oder auf folgender Website (Vorsicht: andere Distanzfunktion!) Needleman, Wunsch: A general method applicable to the search for similarities in the amino acid sequence of two proteins, J. Mol. Biol. (1970), 48, Komplexität Wie sieht es nun mit der Laufzeit des Needleman-Wunsch-Algorithmus aus? Steigt auch dort die Laufzeit exponentiell mit der Sequenzlänge? Analyse Größe der DP-Matrix: (m+1)x(n+1) Zeit zum Füllen der Matrix: O(mn) Zeit für Traceback: O(m+n) ) insgesamt O(mn) Für Sequenzen ähnlicher Länge also keine exponentielle, sondern quadratische Laufzeit! Needleman-Wunsch in Python Wir wollen nun den Kernteil des Needleman-Wunsch- Algorithmus in Python implementieren Traceback-Matrix unterschlagen wir hier der Kürze halber (! Übung!) Beispielcode verwendet einige neue Dinge in Python, die Sie bisher noch nicht kennen Module Listen Matrix-Klasse Diese werden wir zunächst kurz vorstellen 12
13 Python Module Module sind eine Möglichkeit existierenden Code wieder zu verwenden und anderen zur Verfügung zu stellen Man kann dazu einfach den Code in eine eigene Datei speichern und diese dann mit dem import-kommando von Python laden: # Modul Dist.py # Dieses Modul implementiert # Die Distanzfunktion d und # kann von anderen Programmen # verwendet werden. def d(a, b): if a == b: return 0 else: return 1 # Berechnung der Distanz import Dist # Lade Modul Dist A = `ACGT` B = `A-GG` a = 0 for i in range(len(a)): d = d + Dist.d(A[i], B[i]) # Die Distanzfunktion wird # über den Namen des Moduls # angesprochen: Dist.d Python Listen Listen sind Aneinanderreihungen beliebiger Werte (genauer: Objekte), die man zusammenfassen will Viele Python-Funktionen akzeptieren Listen als Argumente Möchte man z.b. das Minimum von vier Werten berechnen, so definiert man eine Liste mit diesen Werten und ruft dann die Funktion min mit dieser Liste auf: l = [170, 55, 3, 244] print min(l) Listen definiert man in Python, indem man die einzelnen Werte in eckige Klammern schreibt Vorsicht: eckige Klammern hinter einer Variablen bedeuten den Zugriff mit einem oder mehreren Indices! Nicht verwechseln! Ergebnis dieses kurzen Programms ist natürlich 3 Python Matrix Listen sind in Python nur eine von vielen Datenstrukturen Mit Hilfe von Arrays kann man große Mengen von Zahlen darstellen Sowohl eindimensionale ( Vektoren ), als auch zweidimensionale ( Matrizen ) oder mehrdimensionale Arrays (allgemeine Tensoren) sind möglich Diese Arrays sind in Python nicht in der Sprache selbst verankert, sondern werden von einem externen Modul namens numarray zur Verfügung gestellt, das separat installiert werden muss Dafür stellt numarray Ihnen sehr schnelle und einfache Operationen aus der linearen Algebra (z.b. Matrixmultiplikationen) zur Verfügung, die Sie nicht mehr selbst implementieren müssen Wir werden die array-klasse aus numarray verwenden um unsere DP-Matrix darzustellen 13
14 Python Matrix Eine Matrix kann man auf viele Arten erzeugen. Wir wollen die Matrix nicht nur erzeugen sondern am besten auch gleich mit Nullen füllen Das geht mit der Funktion numarray.zeros, deren Argument eine Liste mit der Größe in den jeweiligen Dimensionen ist import numarray # Lade Modul A = numarray.zeros([3]) # Definiert Vektor # der Länge 3 A[1] = 5 # Setzt 2. Element print A M = numarray.zeros([3,3]) # definiert eine 3x3-Matrix M[0,0] = M[1,1] = M[2,2] = 2 print M print A * M Ausgabe: [0 5 0] [[2 0 0] [0 2 0] [0 0 2]] [[ 0 0 0] [ ] [ 0 0 0]] Needleman-Wunsch Teil I # Importiere Matrixklasse import numarray # Distanzfunktion def d(a,b): if a == b: return 0 else: return 1 A = ACGT # Initialisierung der Sequenzen B = AGC m = len(a) # Reine Bequemlichkeit: Längen der n = len(b) # Sequenzen D = numarray.zeros([m+1, n+1]) # Erzeuge DP-Matrix Needleman-Wunsch Teil II for i in range(m+1): # Initialisierung D[i,0] = i # der DP-Matrix for j in range(n+1): D[0,j] = j # Berechne DP-Matrix for i in range(1,m+1): for j in range(1,n+1): # Berechne Distanzen d_horiz = D[i-1,j] + d(a[i-1],"-") d_diag = D[i-1,j-1] + d(a[i-1],b[j-1]) d_vert = D[i,j-1] + d("-", B[j-1]) # Speichere Minimum in DP-Matrix D D[i,j] = min([d_horiz, d_diag, d_vert]) 14
15 Literatur + Links Setubal/Meidanis, Introduction to Computational Molecular Biology, S. 53ff Merkl/Waack, Bioinformatik Interaktiv, S. 95ff Webseite zum interaktiven Experimentieren: 15
Algorithmische Bioinformatik
Algorithmische Bioinformatik Effiziente Berechnung des Editabstands Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Rekursive Definition des Editabstands
Algorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises
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
Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik
Bioinformatik Lokale Alignierung Gapkosten Silke Trißl / Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Ähnlichkeit Lokales und globales Alignment Gapped Alignment Silke Trißl:
Komplexität von Algorithmen
Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen
Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011)
M. Sc. Frank Gimbel Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011) 1 Motivation Ziel ist es, ein gegebenes lineares Gleichungssystem der Form Ax = b (1) mit x, b R n und A R n n zu lösen.
Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany [email protected] Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
Bioinformatik für Biochemiker
Bioinformatik für Biochemiker Oliver Kohlbacher, Steffen Schmidt SS 2010 3. Strings, Sequenzen und Python Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht Strings
Alignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)
Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch
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)
Taylorentwicklung der k ten Dimension
Taylorentwicklung der k ten Dimension 1.) Taylorentwicklung... 2 1.1.) Vorgehenesweise... 2 1.2.) Beispiel: f ((x, y)) = e x2 +y 2 8x 2 4y 4... 3 2.) Realisierung des Algorithmus im CAS Sage Math... 5
Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel
Studiengang Informatik der FH Gießen-Friedberg Sequenz-Alignment Jan Schäfer WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Überblick Einführung Grundlagen Wann ist das Merkmal der Ähnlichkeit erfüllt?
Laufzeit und Komplexität
Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen
37 Gauß-Algorithmus und lineare Gleichungssysteme
37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass
Einstieg in die Informatik mit Java
1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. November 2014 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger
Informatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany [email protected] Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Rekursion Rekursion Neue Denkweise Wikipedia: Als Rekursion bezeichnet man den Aufruf
Datenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 [email protected] 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Binary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
Lineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2016 Lineare Gleichungssysteme Schwerpunkte: Interpretation und Verständnis der Gleichungen Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik unter
Serie 10: Inverse Matrix und Determinante
D-ERDW, D-HEST, D-USYS Mathematik I HS 5 Dr Ana Cannas Serie 0: Inverse Matrix und Determinante Bemerkung: Die Aufgaben dieser Serie bilden den Fokus der Übungsgruppen vom und 5 November Gegeben sind die
(Allgemeine) Vektorräume (Teschl/Teschl 9)
(Allgemeine) Vektorräume (Teschl/Teschl 9) Sei K ein beliebiger Körper. Ein Vektorraum über K ist eine (nichtleere) Menge V, auf der zwei Operationen deniert sind, die bestimmten Rechenregeln genügen:
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
Übungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
4.4. Rang und Inversion einer Matrix
44 Rang und Inversion einer Matrix Der Rang einer Matrix ist die Dimension ihres Zeilenraumes also die Maximalzahl linear unabhängiger Zeilen Daß der Rang sich bei elementaren Zeilenumformungen nicht ändert
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P
11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie
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
Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok
Kurs über Lineare Gleichungssysteme PD Dr. Karin Halupczok Mathematisches Institut Albert-Ludwigs-Universität Freiburg http://home.mathematik.unifreiburg.de/halupczok/diverses.html [email protected]
Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II
Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II Matrixzugriff Wir wollen nun unsere Einführung in die Arbeit mit Vektoren und Matrizen in MATLAB
Matrizen, Determinanten, lineare Gleichungssysteme
Matrizen, Determinanten, lineare Gleichungssysteme 1 Matrizen Definition 1. Eine Matrix A vom Typ m n (oder eine m n Matrix, A R m n oder A C m n ) ist ein rechteckiges Zahlenschema mit m Zeilen und n
Einführung in die Bioinformatik Algorithmen zur Sequenzanalyse
Einführung in die Bioinformatik Algorithmen zur Sequenzanalyse!! Vorläufige Fassung, nur einzelne Abschnitte!!!! Enthält wahrscheinlich noch viele Fehler!!!! Wird regelmäßig erweitert und verbessert!!
Bioinformatik. Dynamische Programmierung. Ulf Leser Wissensmanagement in der. Bioinformatik
Bioinformatik Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Motivation BLAST / FASTA und Verwandte sind *die* Bioinformatik Anwendung Teilweise synonym für Bioinformatik rundlegende
Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
Programmierung I Einführung in Python, Beyond the Basics
Höhere Datenstrukturen Programmierung I Einführung in Python, Beyond the Basics G. Zachmann Clausthal University, Germany [email protected] Eines der Features, das Python so mächtig macht (VHLL)
Informationsverarbeitung im Bauwesen
V14 1 / 30 Informationsverarbeitung im Bauwesen Markus Uhlmann Institut für Hydromechanik WS 2009/2010 Bemerkung: Verweise auf zusätzliche Information zum Download erscheinen in dieser Farbe V14 2 / 30
(geometrische) Anschauung
(geometrische) Anschauung Marcus Page Juni 28 In dieser Lerneinheit widmen wir uns dem schon oft angesprochenen Zusammenhang zwischen Matrizen und linearen Abbildungen. Außerdem untersuchen wir Funktionen,
( ) Lineare Gleichungssysteme
102 III. LINEARE ALGEBRA Aufgabe 13.37 Berechne die Eigenwerte der folgenden Matrizen: ( ) 1 1 0 1 1 2 0 3 0 0, 2 1 1 1 2 1. 1 1 0 3 Aufgabe 13.38 Überprüfe, ob die folgenden symmetrischen Matrizen positiv
Grundlagen der Informatik I (Studiengang Medieninformatik)
Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: [email protected]
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge Bachelor
1 Definition. 2 Besondere Typen. 2.1 Vektoren und transponieren A = 2.2 Quadratische Matrix. 2.3 Diagonalmatrix. 2.
Definition Die rechteckige Anordnung von m n Elementen a ij in m Zeilen und n Spalten heißt m n- Matrix. Gewöhnlich handelt es sich bei den Elementen a ij der Matrix um reelle Zahlen. Man nennt das Paar
Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte
Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei
7/7/ Das Rucksack-Problem Englisch: Knapsack Problem Das Problem: "Die Qual der Wahl" Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei Im Ladens
Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
Übungen zu Einführung in die Lineare Algebra und Geometrie
Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Sommersemester 2010 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax = b
Dr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
Fortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Beispiele 1. Gegeben sei das lineare Gleichungssystem mit erweiterter Matrix (A
133 e 1. Gegeben sei das lineare Gleichungssystem mit erweiterter Matrix 1 3 2 1 1 2 3 0. 1 3 2 1 2. Gegeben sei das lineare Gleichungssystem mit erweiterter Matrix 1 3 2 1 1 2 3 0. 1 3 2 1 Schritte des
Dynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
Lineare Gleichungssysteme
Christian Serpé Universität Münster 14. September 2011 Christian Serpé (Universität Münster) 14. September 2011 1 / 56 Gliederung 1 Motivation Beispiele Allgemeines Vorgehen 2 Der Vektorraum R n 3 Lineare
5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
Der Algorithmus von Bresenham
Der Algorithmus von Bresenham Das Bresenham-Verfahren beruht im wesentlichen auf zwei grundsätzliche Beobachtungen: - Es reicht ein Verfahren aus um Geraden mit einer Steigung im Bereich von null bis eins
Unterprogramme, Pointer und die Übergabe von Arrays
Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme Wie schon im Abschnitt über Funktionen erwähnt, versteht man unter einem Unterprogramm im engeren Sinn eine Prozedur, welche die Werte
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
4 Lineare Algebra (Teil 2): Quadratische Matrizen
4 Lineare Algebra (Teil : Quadratische Matrizen Def.: Eine (n n-matrix, die also ebensoviele Zeilen wie Spalten hat, heißt quadratisch. Hat sie außerdem den Rang n, sind also ihre n Spalten linear unabhängig,
Sequenzen-Alignierung in der Bioinformatik
Sequenzen-Alignierung in der Bioinformatik VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS 2. VO 2.0.2006 Literatur für diese VO Volker Heun: Skriptum zur Vorlesung
Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. [email protected]. [email protected].
1 Programmierung 2 Dynamische Programmierung Sebastian Hack [email protected] Klaas Boesche [email protected] Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung
Projekt Systementwicklung
Projekt Systementwicklung Effiziente Codierung: Laufzeitoptimierung Prof. Dr. Nikolaus Wulff Effiziente Codierung Der Wunsch effizienten Code zu schreiben entstammt mehreren Quellen: Zielplattformen mit
Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
Lineare Algebra, Teil 2 Abbildungen
Lineare Abbildungen Vorlesung Lineare Algebra mit integrierten Übungen WS 12 13 Studiengang LBS Unterrichtsfach hmth Mathematiktik Lineare Algebra, Teil 2 Abbildungen Lineare Abbildungen Lineare Gleichungssysteme
Grundbegriffe der Informatik
Grundbegriffe der Informatik Übung Simon Wacker Karlsruher Institut für Technologie Wintersemester 2015/2016 GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 1 / 13 Programmiersprachen
Sequenzen-Alignierung in der Bioinformatik
Sequenzen-Alignierung in der Bioinformatik VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS 22. VO 23..26 Literatur für diese VO Volker Heun: Skriptum zur Vorlesung
Copyright, Page 1 of 5 Die Determinante
wwwmathematik-netzde Copyright, Page 1 of 5 Die Determinante Determinanten sind ein äußerst wichtiges Instrument zur Untersuchung von Matrizen und linearen Abbildungen Außerhalb der linearen Algebra ist
620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt [email protected] Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE
Lineare Abbildungen Definitionen von linearer Abbildung, linearer Transformation, affiner Abbildung. Parallentreue und Teilverhältnistreue
Lineare Abbildungen Vorlesung Lineare Algebra mit integrierten Übungen WS 12 13 Studiengang LBS Unterrichtsfach Mathematik Lineare Algebra, Teil 2 Abbildungen Lineare Abbildungen Lineare Eigenwerte, Eigenvektoren
Lineare Gleichungssysteme (Teschl/Teschl 11.1)
Lineare Gleichungssysteme (Teschl/Teschl.) Ein Lineares Gleichungssystem (LGS) besteht aus m Gleichungen mit n Unbekannten x,...,x n und hat die Form a x + a 2 x 2 +... + a n x n b a 2 x + a 22 x 2 +...
Tag 9: Datenstrukturen
Tag 9: Datenstrukturen A) Datenstrukturen B) Cell Arrays C) Anwendungsbeispiel: Stimulation in einem psychophysikalischen Experiment A) Datenstrukturen Wenn man komplizierte Datenmengen verwalten möchte,
Dieses Dokument enthält alle Teilaufgaben zur Java-Pflichtaufgabe für das Sommersemester Aufgabe 1 (Vier Gewinnt 1. Teil)
Vier Gewinnt Dieses Dokument enthält alle Teilaufgaben zur Java-Pflichtaufgabe für das Sommersemester 2008. Aufgabe 1 (Vier Gewinnt 1. Teil) Implementieren Sie eine Java-Klasse VierGewinnt1, mit einer
3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen
3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen Sortierproblem Eingabe: Folge von n natürlichen Zahlen a 1, a 2,, a n, die Folge
Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016
und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 25. April 2016 Die Dimensionsformel Definition 3.9 Sei f : V W eine lineare Abbildung zwischen zwei K-Vektorräumen. Der Kern
Algorithmen & Programmierung. Rekursive Funktionen (1)
Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden
Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015
und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015 4. April 2016 Zu der Vorlesung wird ein Skript erstellt, welches auf meiner Homepage veröffentlicht wird: http://www.math.uni-hamburg.de/home/geschke/lehre.html
kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
Einstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern
Lineare Algebra und Numerische Mathematik für D-BAUG
P. Grohs T. Welti F. Weber Herbstsemester 5 Lineare Algebra und Numerische Mathematik für D-BAUG ETH Zürich D-MATH Beispiellösung für Serie Aufgabe. Skalarprodukt und Orthogonalität.a) Bezüglich des euklidischen
Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung
Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs
Einführung in die Informatik I
Einführung in die Informatik I Berechenbarkeit und Komplexität Prof. Dr. Nikolaus Wulff Berechenbarkeit Im Rahmen der Turingmaschine fiel zum ersten Mal der Begriff Berechenbarkeit. Ein Funktion f heißt
Vorlesung Bioinformatik Protein Threading
Vorlesung Bioinformatik Protein Threading Dr. Axel Mosig 18. Mai 2004 Vorhersage der Tertiärstruktur von Proteinen Ab Initio-Methoden (z.b. via Molecular Dynamics) sind rechenintensiv; nur in Einzelfällen
1 Singulärwertzerlegung und Pseudoinverse
Singulärwertzerlegung und Pseudoinverse Singulärwertzerlegung A sei eine Matrix mit n Spalten und m Zeilen. Zunächst sei n m. Bilde B = A A. Dies ist eine n n-matrix. Berechne die Eigenwerte von B. Diese
Informatik I EProg HS13
software evolution & architecture lab Informatik I EProg HS13 Übung 5 1 Aufgabe: Nassi-Shneiderman Diagramme 1.1 Lernziele 1. Ein in Pseudocode beschriebenes Verfahren in ein entsprechendes Nassi-Shneiderman-Diagramm
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Matrizen und Determinanten
Matrizen und Determinanten 1 Matrizen und Determinanten 1 Einführung in den Matrizenbegriff Zur Beschreibung und Lösung vieler physikalischer Probleme ist die Vektorrechnung vonnöten Durch Verwendung von
Matrix-Algorithmen Matrixmultiplikation Allgemeiner Matrizen
Matrix-Algorithmen Matrixmultiplikation Allgemeiner Matrizen 15.04.2011 Inhaltsverzeichnis Grundlagen 1 Grundlagen Matrizen Vektoren 2 Skalarprodukt und Saxpy Matrix-Vektor-Multiplikation Gaxpy Matrix-Matrix-Multiplikation
Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz
Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
