Vom Problem über den Algorithmus zum Programm
|
|
- Lars Frei
- vor 7 Jahren
- Abrufe
Transkript
1 2 Vom Problem über den Algorithmus zum Programm Computer sind heute praktisch überall zu finden. Entsprechend groß ist die Vielzahl der Problemstellungen, mit denen man bei der Entwicklung von Programmen und Software-Systemen konfrontiert ist. Viele Problemstellungen erscheinen auf den ersten Blick recht weit von dem entfernt, was von Rechnern zu bewältigen ist, oder scheinen von sehr unterschiedlicher Natur zu sein. Um mit diesen Schwierigkeiten zurecht zu kommen, bietet die Informatik Problemlösungsstrategien an, die sich bewährt haben. In Abschnitt 2.1 dieses Kapitels stellen wir eine Vorgehensweise vor, in deren Zentrum das Konzept des Algorithmus steht. Der Begriff des Algorithmus wird in Abschnitt 2.2 behandelt. Abschnitt 2.3 präsentiert ein Beispiel zur Verdeutlichung der Vorgehensweise. 2.1 Vorgehensweise bei der Lösung von Programmierproblemen In Abbildung 2.1 ist eine klassische Vorgehensweise dargestellt, nach der Probleme in der Informatik gelöst werden können. Das Ziel einer Problemlösung ist, ausgehend von einer Problemstellung ein System zu finden, das diese Lösung darstellt. Diese Vorgehensweise lässt sich in drei Schritten aufgliedern. Ausgangspunkt ist eine gegebene Problemstellung, für die eine Lösung durch den Rechner gesucht wird. Nachfolgend wird mittels Abstraktion aus dem Problem im Idealfall ein Algorithmus erstellt. Der Algorithmus ist im nächsten Schritt in ein Programm zu transferieren, welches dann auf einem Rechner ausgeführt wird. Das Programm stellt die Lösung des Problems dar. Programmierprobleme entstammen dabei üblicherweise der realen Welt. Deshalb ist es in der Phase der Abstraktion notwendig, die realen Gegebenheiten in eine abstrakte Form, die durch Algorithmen beschrieben werden kann, zu überführen. Resultierend wird ein informationsverarbeitendes System hergeleitet, das durch ein Programm gegeben ist. Die eigentliche Ausführung geschieht dann auf einem Rechner (Computer, Maschine). H. Müller, F. Weichert, Vorkurs Informatik, DOI / _2, Springer Fachmedien Wiesbaden 2013
2 16 2 Vom Problem über den Algorithmus zum Programm Reale Welt Abstrakte Objekte Informationsverarbeitendes System Rechner Problem Abstraktion Algorithmus Darstellung Programm Realisierung Maschine Problemanalyse funktionale Spezifikation Algorithmenentwurf Darstellung in formalisierter Sprache für Ausführung durch Rechner Umsetzung in Elementarschritte einer Maschine Abbildung 2.1: Vorgehensweise zur Lösung von Problemen in der Informatik Aufgaben der Abstraktion sind die Problemanalyse, funktionale Spezifikation und der Algorithmenentwurf. Innerhalb der funktionalen Spezifikation wird beschrieben, was der Algorithmus genau leisten soll. Im Anschluss wird festgelegt wie er zu realisieren ist. Der Übergang vom Algorithmus zum Programm, die sogenannte Darstellung, bedeutet Beschreibung in formalisierter Sprache zur Ausführung durch den Rechner. Die letzte Stufe, der Übergang vom Programm zur Maschine, Realisierung genannt, besteht in der Umsetzung des Programms in Elementarschritte einer Maschine. 2.2 Algorithmen Das zentrale Konzept bei dieser Vorgehensweise ist offensichtlich der Algorithmus. Ein Algorithmus ist eine endliche Vorschrift zur eindeutigen Überführung von Eingabegrößen zu Ausgabegrößen in einer endlichen Zahl von Schritten. Diese Definition hört sich möglicherweise etwas abstrakt an, solche Vorschriften sind jedoch im täglichen Leben durchaus gebräuchlich. Betrachten wir beispielsweise einmal das folgende Backrezept für einen Marmorkuchen: Beispiel: Backrezept für einen Marmorkuchen Zutaten: 300g Mehl, 1 TL Backpulver, 300g Butter, 5 Eier, 250g Zucker, 1 Prise Salz, 3 EL ungesüßtes Kakaopulver, 1 guter El Schokocreme
3 2.2 Algorithmen 17 Abbildung 2.2: Algorithmische Beschreibung für das Backen eines Marmorkuchens Zubereitung: Butter mit Zucker und Salz schaumig rühren. Eier vorsichtig zugeben. Backpulver zum Mehl geben und über die Eier-Buttermasse sieben. Kastenkuchen oder Kranzkuchenform gut ausfetten und eventuell mit Semmelbrösel oder Gries ausstreuen. Die Hälfte des Teiges einfüllen. Unter die andere Hälfte das Kakaopulver und Schokocreme rühren. Auf den hellen Teig geben und mit einer Gabel spiralförmig durch den Teig ziehen. Oberfläche glatt streichen. Im Backofen bei 180 Grad Minuten backen. Kuchen 10 min in der Form auskühlen lassen. Den fertigen Marmorkuchen aus der Form stürzen und auf einem Kuchengitter vollständig erkalten lassen. Das Backrezept weist tatsächlich die wesentlichen Eigenschaften eines Algorithmus auf: die Endlichkeit der Länge der Beschreibung, die Terminierung, d. h. die Beendigung nach endlich vielen Operationen sowie die eindeutige Reihenfolge der Operationen. Allein die eindeutige Wirkung der Anweisungsfolge mag beim Backen nicht immer gegeben sein: die resultierenden Kuchen könnten durchaus etwas unterschiedlich aussehen und schmecken.
4 18 2 Vom Problem über den Algorithmus zum Programm Zusammenfassung 2.1 (Algorithmus): Ein Algorithmus ist eine Folge einfacher Anweisungen, die folgende Eigenschaften aufweisen: Endlichkeit: Die Beschreibung ist endlich lang. Terminierung: Nach Durchführung endlich vieler Operationen kommt das Verfahren zum Stillstand. Eindeutige Reihenfolge: Die Reihenfolge, in der die Operationen anzuwenden sind, ist festgelegt. Eindeutige Wirkung: Die Wirkung jeder Anweisung der Anweisungsfolge und damit der gesamten Folge ist eindeutig festgelegt. 2.3 Beispiel: Jüngster Studierender Wir wollen nun die oben geschilderte Vorgehensweise zur Lösung von Programmierproblemen an einem Beispielproblem des Jüngster Studierender illustrieren. Aufgabe ist es, in einer Menge von Studierenden den jüngsten zu finden. Zur Lösung des Problems sind sechs Teilschritte notwendig, die im Folgenden näher beschrieben werden: 1. Problem formulieren Wir wollen den jüngsten Studierenden in einer Vorlesung finden. 2. Problemanalyse, Problemabstraktion, Problemspezifikation Eine wesentliche Frage bei der Problemanalyse ist, ob es überhaupt eine Lösung gibt. Für unser Problem ist dies klar, es gibt eine Lösung. Es stellt sich hierbei allerdings die Frage, ob es genau eine Lösung gibt. Wenn man etwas genauer darüber nachdenkt, kommt man zu dem Schluss, dass es keine eindeutige Lösung gibt. Es könnte sein, dass es mehrere Studierende gibt, bei denen die Anforderungen erfüllt sind. Die Problemabstraktion wirft ebenfalls einige Fragen auf, die im Folgenden zu behandeln sind. Eine erste Frage ist sicherlich: Was ist Alter? Alter kann als ganze positive Zahl verstanden werden. Wenn es allerdings mehrere Studierende mit der gleichen ganzen positiven Zahl als Alter gibt, könnte man auf die Idee kommen, auch gebrochene Zahlen zu berücksichtigen. Eine andere Möglichkeit wäre, das Alter in Jahren, Monaten und Tagen zu messen. Wir werden uns bei dem gegebenen Problem des jüngsten Studierenden für die Version der ganzen positiven Zahl entscheiden. Eine weitere Frage ist: Was ist jüngster? Hierzu ist es notwendig, eine Ordnungsrelation zu haben. Diese ist auf ganzen positiven Zahlen natürlich durch die übliche <-Relation gegeben. Die letzte Frage, die wir uns stellen, ist: Müssen Personenangaben über die Studierenden vorhanden sein und in welcher Form? Eine Möglichkeit ist, dass die Studierenden anwesend sind, etwa während einer Vorlesung in einem Hörsaal. Eine andere Version ist, dass eine Liste
5 2.3 Beispiel: Jüngster Studierender 19 mit Personenangaben von Studierenden vorliegt, die natürlich eine Altersangabe, aber auch weitere Kennzeichen wie den Namen enthalten kann. Abhängig von der Gegebenheit ist das Problem in recht unterschiedlicher Weise lösbar. Wir entscheiden uns hier für die Möglichkeit mit der Liste von Personenangaben, da sie sich für die rechnerbasierte Lösung besser eignet. Man kann sich nun überlegen, ob tatsächlich der Name des jüngsten Studierenden gesucht werden soll. Vielleicht ist es zunächst einmal ratsam, sich nur mit dem Problem des Auffindens des Alters des jüngsten anwesenden Studierenden zu befassen. Dies führt zu einer Überarbeitung der Problemformulierung: Finde das Alter des jüngsten Studierenden. Solche Entscheidungskorrekturen über die Problemstellung sind tatsächlich auch in der Praxis üblich, sie erfolgen dann normalerweise in Rücksprache mit dem Kunden, der von der Notwendigkeit zu überzeugen ist. Ausgehend von diesen Überlegungen können wir nun unser Problem in abstrahierter Form spezifizieren: Problem: Minimum einer Menge von Zahlen Gegeben: Eine Folge a 0,...,a n 1 von positiven ganzen Zahlen, n > 0. Gesucht: Der kleinste Wert a der gegebenen Zahlen, d. h. a = min(a 0,...,a n 1 ). 3. Algorithmenentwurf Für den Entwurf von Algorithmen zur Lösung eines Problems stehen eine Reihe von Vorgehensweisen zur Verfügung. Zwei weitverbreitete Strategien sind: Top-Down-Strategie: Das gegebene Gesamtproblem wird in möglichst einfache Teilprobleme zerlegt, die dann einzeln gelöst werden. Aus den Lösungen dieser Teilprobleme wird dann die Lösung des Gesamtproblems abgeleitet. Diese Strategie wird auch als Divide and Conquer -Strategie bezeichnet. Wir werden auf diese Herangehensweise im Abschnitt 6 Rekursion zurückkommen. Bottom-Up-Strategie: Hierbei besteht das Gesamtproblem aus mehreren Teilproblemen. Diese Teilprobleme werden geeignet zusammengefügt, um eine Lösung des Gesamtproblems zu generieren. Das Minimum einer Menge von Zahlen lässt sich jedoch einfacher finden. Eine sicherlich naheliegende Strategie ist, die Menge Element für Element durchzugehen und sich das kleinste bisher gesehene Element zu merken. Dies ist die Vorgehensweise, der auch im Pseudocode in Abbildung 2.3 gefolgt wird. Pseudocode ist eine leicht formalisierte, aber noch nahe an der üblichen Sprache durchgeführte Formulierung eines Algorithmus, von der aus der Schritt zu einem Programm nicht mehr sehr groß ist. Der Pseudocode wird in Kapitel 3, das den Algorithmenentwurf zum Thema hat, erklärt. 4. Nachweis der Korrektheit (Semantik, Verifikation) Fragen, die im Zusammenhang mit dem Nachweis der Korrektheit gestellt werden, sind: Terminiert der Algorithmus, d. h., hört er irgendwann einmal auf zu arbeiten? Liefert er immer das richtige Ergebnis? Um solche Fragen zu beantworten, gibt es spezielle Formalismen und
6 20 2 Vom Problem über den Algorithmus zum Programm Setze merker auf a 0 ; Setze i auf 1; Solange i < n ist, fuehre aus: Wenn a i < merker, dann Setze merker auf a i ; Erhoehe i um 1; Gib merker zurueck; Abbildung 2.3: Pseudocode für den Algorithmus Minimumsuche Mechanismen. Eine Vorgehensweise besteht darin, die Wirkung von Einzelschritten eines Algorithmus zu spezifizieren. Dies kann über Aussagen geschehen, die den Zustand der Berechnung nach Ausführung des Einzelschrittes in Abhängigkeit des Zustandes vor Ausführung von Einzelschritten beschreiben. Durch Zusammensetzen der Aussagen entlang der Einzelschritte eines Algorithmus ist es dann möglich, eine Aussage über den Zustand der Berechnung nach Abarbeiten des Algorithmus zu treffen, d.h des Ergebnisses, in Abhängigkeit des Zustandes der Berechnung vor der Ausführung des Algorithmus, der Eingabe, zu machen. Auf diese Weise wird dem sprachlichen Aufbau eines Algorithmus, der sogenannten Syntax, eine inhaltliche Bedeutung, eine so genannte Semantik zugeordnet. Wir werden uns in Kap. 18 Compiler und formale Sprachen mit Syntax und Semantik befassen, dabei allerdings die Frage des Nachweises der Korrektheit nicht mehr aufgreifen. Dieser ist einer der Schwerpunkte des Informatikstudiums. 5. Aufwandsanalyse Durch Aufwandsanalyse soll herausgefunden werden, welche Rechnerressourcen bei der Abarbeitung des Algorithmus gebraucht werden. Rechnerressourcen sind beispielsweise der Bedarf an Speicher zur Ablage der benötigten Daten und der Zeitbedarf für die Ausführung des Algorithmus. Der Algorithmus zur Minimumsuche ist in beiderlei Hinsicht recht genügsam. Die Anzahl der Schritte, die bei n gegebenen Zahlen auszuführen ist, ist offensichtlich proportional zu n: jedes Element wird genau einmal angesehen und die Anzahl der Aktionen für jedes Element ist konstant, da nur ein Vergleich des aktuellen Wertes mit dem gemerkten Minimum und möglicherweise eine Aktualisierung des gemerkten Minimums durchzuführen sind. Dies ist im Prinzip optimal, denn jedes Element der Menge muss mindestens ein Mal angesehen werden, da es sonst sein könnte, dass sich das minimale unter den nicht betrachteten befindet. Auch der Bedarf an Speicher ist proportional zu n, da neben den n Elementen im Wesentlichen nur das gemerkte Minimum gespeichert werden muss. Wir werden in Kapitel 12, das sich mit der Analyse des asymptotischen Aufwands von Algorithmen befasst, genauer auf die Aufwandsanalyse des Minimumsuche-Algorithmus eingehen. 6. Programmierung Bei der Programmierung geht es darum, den Algorithmus in einer Programmiersprache zu
7 2.3 Beispiel: Jüngster Studierender 21 class ProgrammMinSuche{ public static void main(string[] args){ int[] a = {11,7,8,3,15,13,9,19,18,10,4}; int merker = a[0]; int i = 0; int n = a.length; while (i < n){ if (a[i] < merker) merker = a[i]; i = i + 1; } System.out.println(merker); } } Abbildung 2.4: Java-Programm zur Minimumsuche formulieren, sodass er letztendlich durch einen Rechner ausführbar wird. Der Quellcode in Abbildung 2.4 zeigt ein Java-Programm, das den Algorithmus aus Pseudocode 2.3 realisiert. Offensichtlich ist diese Darstellung recht formal und für den menschlichen Leser mit scheinbar überflüssigen Dingen versehen. Dieser Formalismus erlaubt es jedoch dem Rechner, das Programm automatisch zu analysieren und auszuführen. Das gezeigte Programm soll nur zur Illustration dienen und muss an dieser Stelle nicht verstanden werden. Es wird in Kapitel 4 Grundkonzepte der Programmierung besprochen, mit dem die Einführung in die Programmierung beginnt. Zusammenfassung 2.2 (Vorgehensweise bei der Lösung von Programmierproblemen): Bei der Lösung eines algorithmisch orientierten Programmierproblems sind im Allgemeinen folgende Schritte durchzuführen: 1. Problem formulieren 2. Problemanalyse, Problemabstraktion, Problemspezifikation 3. Algorithmenentwurf 4. Nachweis der Korrektheit, Verifikation 5. Aufwandsanalyse 6. Programmierung Aufgabe 2.1: Geben Sie analog zum Backrezept weitere Beispiele für algorithmenartige Anweisungen aus dem täglichen Leben an.
8 22 2 Vom Problem über den Algorithmus zum Programm Aufgabe 2.2: Wir wollen feststellen, ob sich in einer Liste von Studierenden eine Person mit dem Alter 19 befindet. Spezifizieren Sie das Problem in abstrahierter Form analog zur Vorgehensweise beim Problem Jüngster Studierender. Aufgabe 2.3: Geben Sie abstrahierte Formulierungen für die folgenden Probleme an: a) Gibt es in der Vorlesung einen Teilnehmenden mit dem Namen Müller? b) Überprüfen Sie, ob sich innerhalb der Veranstaltung zwei Personen mit gleichem Nachnamen befinden.
9
FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen
FD Informatik Mauch SSDL (WHRS) Reutlingen Algorithmen Überblick Definition Notwendigkeit Realisierung Grundkonzepte Umsetzung im Unterricht Algorithmus? Ein Algorithmus ist eine Verwaltungsvorschrift,
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,
MehrGrundlagen der Informatik I Einführung
Grundlagen der Informatik I Einführung Konzepte imperativer Programmierung : Six, H.W., 99 Themen der heutigen Veranstaltung 1. Informatik, Computer, Programmierung 2. Problem und Algorithmus 3. Programme
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften
Mehr2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
MehrEinführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
Mehr11. Rekursion, Komplexität von Algorithmen
11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv
Mehr1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen?
1. Einführung Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? Wie beschreiben wir Algorithmen? Nach welchen Kriterien
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
MehrInformatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
MehrKapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin
Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 9, Donnerstag 18. Dezember 2014 (Teile und Herrsche, Mastertheorem) Junior-Prof. Dr.
MehrGrundlagen 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: skuehn@informatik.htw-dresden.de
MehrAlgorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1
Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische
Mehr7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
MehrInformatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -
MehrProseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP
Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................
Mehr2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:
2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden
MehrRekursion. 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"
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrMarmorkuchen im Weckglas
Marmorkuchen im Weckglas Laut meinem Papa gibt es einen Kuchen, der niemals auf der Kaffeetafel fehlen darf und von dem man auch nie genug bekommen kann: Dettinger Marmorkuchen. Frisch ist er doch eigentlich
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,
MehrWillkommen zur Vorlesung. Algorithmen und Datenstrukturen
Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:
MehrProblemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus
Problemreduktion durch Transformation am Beispiel des Erweiterten Euklidschen Algorithmus Wolfgang Windsteiger JKU Linz, A 4040 Linz, Austria Kurzfassung Transformation beschreibt im Wesentlichen die algorithmische
MehrInhalt. 6 Liebe Leserinnen, liebe Leser. 9 Backen ohne Kohlenhydrate
Inhalt 6 Liebe Leserinnen, liebe Leser 9 Backen ohne Kohlenhydrate 10 Süßer Genuss ohne Kohlenhydrate 11 Kleine Zutaten-Warenkunde 12 Noch ein paar Tipps 14 Das Wichtigste in Kürze 17 Backrezepte mal ganz
MehrDefinition: (Kette, noethersche Ordnung)
3. Funktionales Programmieren 3.4 Semantik, Testen und Verifikation Definition: (Kette, noethersche Ordnung) Sei (M, ) eine Ordnung. Eine Folge ϕ : N M heißt eine (abzählbar unendliche) aufsteigende Kette,
MehrDas Praktikum mit Seminar vertieft die in der Vorlesung erworbenen Fähigkeiten in theoretischer und praktischer Hinsicht:
66/2006 vom 13.10.2006 FU-Mitteilungen Seite 25 e. Module affiner Bereiche Modul: Chemie für Physiker Aneignung der Grundlagen der Chemie mit Ausnahme der organischen Chemie sowie Erlangung eines Allgemeinwissens
MehrKapitel 1 1 Einleitung
Kapitel 1 Einleitung 1 1 1 Einleitung 1 Einleitung Die Informatik begegnet uns im Alltag ständig. Einmal natürlich als Rechenanlagen, die wir in Büros, Arztpraxen und zu Hause sehen. Zum anderen ist sie
MehrKapitel 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:
MehrKapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
Mehr( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen
MehrObjektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III
Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrDefinition: (Kette, noethersche Ordnung) Definition: (Kette, noethersche Ordnung) (2) Lemma: Terminierungskriterium:
Definition: (Kette, noethersche Ordnung) Definition: (Kette, noethersche Ordnung) (2) Sei (M, ) eine Ordnung. Eine Folge ϕ : N M heißt eine (abzählbar unendliche) aufsteigende Kette, wenn für alle i N
MehrInformatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany
Informatik I Grundlagen der systematischen Programmierung Peter Thiemann Universität Freiburg, Germany WS 2007/08 Literatur Herbert Klaeren, Michael Sperber. Die Macht der Abstraktion. Teubner Verlag,
MehrKapitel 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:
MehrAlgorithmenkonstruktion
Algorithmenkonstruktion Thomas Röfer Praktische Informatik 2 VAK: 03-700.02 Voraussetzung: 03-700.01 (PI-1) ECTS: 6 Rückblick PI-1 Statistik Gesamt: 347 Studierende Übungen erfolgreich absolviert: 274
Mehr1 Programmierfehler und ihre Behebung
1 Programmierfehler und ihre Behebung (kleiner lebenspraktischer Ratgeber) Grundsätze: Jeder Mensch macht Fehler... insbesondere beim Programmieren. Läuft ein Programm, sitzt der Fehler tiefer. Programmierfehler
MehrREZEPT. Zitronen-Mohn-Mini-Gugelhüpfe N 05. Backbube Markus Hummel Gugelhüpf
REZEPT REZEPTTITEL Zitronen-Mohn-Mini-Gugelhüpfe AUS DEM FEATURE Gugelhüpf KONTRIBUTOR Backbube Markus Hummel www.backbube.com LEBENLANG N 05 ZUTATEN ZUBEREITUNG Teig: 35 g Butter 50 g Zucker 1 Ei (M)
MehrStand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften
MehrGrundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem
Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung
MehrAbstrakte Algorithmen und Sprachkonzepte
Abstrakte Algorithmen und Sprachkonzepte Thomas Röfer Begriff des Algorithmus Algorithmenaufbau Programmiersprachliche Grundkonzepte Interative und rekursive Algorithmen Rückblick Aufbau und Funktionsweise
MehrAbschnitt 2: Daten und Algorithmen
Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrGrundlagen der Informatik
Jörn Fischer j.fischer@hs-mannheim.de Willkommen zur Vorlesung Grundlagen der Informatik ADS-Teil Page 2 Überblick Inhalt 1 Eigenschaften von Algorithmen Algorithmenbegriff O-Notation Entwurfstechniken
Mehr11. Rekursion, Komplexität von Algorithmen
nwendung der Rekursion 11. Rekursion, Komplexität von lgorithmen Teil 2 Java-eispiele: Power1.java Hanoi.java Rekursiv definierte Funktionen - Fibonacci-Funktion - Fakultät, Potenz -... Rekursiver ufbau
MehrDidaktik der Informatik. Abschnitt 4 Lernziele Dr. Nicole Weicker
Didaktik der Informatik Abschnitt 4 Lernziele Dr. Nicole Weicker Lernziele Definition Ein Lernziel ist eine sprachliche Formulierung, die beschreibt, welche Lernergebnisse und welches Verhalten innerhalb
MehrLösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
MehrEinführung in die Informatik Iterationen
Einführung in die Informatik Iterationen Konstruktion, Anwendungen, Varianten Wolfram Burgard 1 Motivation Im vorangegangenen Kapitel haben wir mit der while-schleife eine Form von Wiederholungsanweisungen
MehrFunktionale Programmiersprachen
Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
MehrVon Labyrinthen zu. Algorithmen
Von Labyrinthen zu 4 Gerald Futschek Charakterisierung Algorithmus Ein Algorithmus ist ein schrittweises Verfahren ist exakt beschrieben liefert nach endlich vielen Schritten das Ergebnis (terminiert)
MehrEinführung in die Informatik Iterations
Motivation Einführung in die Informatik Iterations Konstruktion, Anwendungen, Varianten Wolfram Burgard Im vorangegangenen Kapitel haben wir mit der while-schleife eine Form von Wiederholungsanweisungen
MehrParallele und funktionale Programmierung Wintersemester 2016/ Übung Abgabe bis , 16:00 Uhr
4. Übung Abgabe bis 25.11.2016, 16:00 Uhr Aufgabe 4.1: Verklemmungsbedingungen a) Welche drei Bedingungen müssen gelten, damit es zu einer Verklemmung in einem parallelen System kommen kann? b) Nach welcher
MehrDOWNLOAD. Schokoladen pudding, Marmorkuchen und Waffeln. Einfaches Kochen nach Fotos, Band 1. D. Thoma-Heizmann / F. Strobel
DOWNLOAD D. Thoma-Heizmann / F. Strobel Schokoladen pudding, Marmorkuchen und Waffeln Einfaches Kochen nach Fotos, Band 1 Downloadauszug aus dem Originaltitel: SCHOKOLADENPUDDING 1 Zutaten für 2 Personen
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen
MehrEinführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene
MehrKUCHENVERKAUF. Hier findet ihr leckere und einfache Kuchenrezepte für jeden Geschmack!
MARMORKUCHEN 200 g weiche Butter 180 g Zucker 3 Eier 250 g Mehl 3 Teelöffel Backpulver 1/4 Teelöffel gemahlene Vanille 2 Esslöffel Milch 20 g Kakaopulver 20 g Zucker 3 Esslöffel Milch Prise Salz... VORBEREITUNGEN:
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 13. März 2017 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:
MehrInhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8
Einleitung Was ist Informatik? 5 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8 Programmierung 13 2 Vom Problem über den Algorithmus zum Programm 15 2.1 Vorgehensweise bei der
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
Mehr{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel
Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
Mehr1 Funktionale vs. Imperative Programmierung
1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.
MehrEIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217
EIDI 1 Einführung in die Informatik 1 PGdP Praktikum Grundlagen der Programmierung Harald Räcke 2/217 Wie löst man Probleme mithilfe von Computern? 0 Harald Räcke 3/217 Inhalte: EIDI 1 1. Was ist das Problem?
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 12. März 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:
Mehr2 Sortieren. Beispiel: Es seien n = 8 und a = i : a i : ϕ(i) : a ϕ(i) :
2 Sortieren Das Sortieren einer Datenfolge ist eines der am leichtesten zu verstehenden und am häufigsten auftretenden algorithmischen Probleme. In seiner einfachsten Form besteht das Problem darin, eine
MehrEinführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 1.0 EBNF 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Graphische Darstellung von EBNF Regeln Syntax Graph: graphische Darstellung
MehrProf. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015
Technische Universität Dortmund Informatik VII (Graphische Systeme) Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015 Übungsaufgaben zum Vorkurs Informatik Wintersemester 2015/2016 Teil I
MehrVanillekipferl. Zutaten:
Lebkuchen 350 g Mehl 300 g Zucker 150 g Früchte, gehackte, kandierte (nach Geschmack) kann man auch weglassen 100 g Haselnüsse, gemahlene 3 TL Lebkuchengewürz 1 TL Nelke(n), gemahlen 1 EL Vanillezucker
MehrInterne Sortierverfahren
Angewandte Datentechnik Interne Sortierverfahren Interne Sortierverfahren Ausarbeitung einer Maturafrage aus dem Fach A n g e w a n d t e D a t e n t e c h n i k Andreas Hechenblaickner 5CDH HTBLA Kaindorf/Sulm
MehrSuchen und Sortieren
Ideen und Konzepte der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn (viele Folien von Kostas Panagiotou) Suchen Welche Telefonnummer hat Kurt Mehlhorn? Wie schreibt man das Wort Equivalenz?
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 robert.legenstein@igi.tugraz.at 1 Kapitel 2 Algorithmische robert.legenstein@igi.tugraz.at 2 2. Algorithmische 1) Iterative Algorithmen 2) Rekursive Algorithmen
Mehr1 Abstrakte Datentypen
1 Abstrakte Datentypen Spezifiziere nur die Operationen! Verberge Details der Datenstruktur; der Implementierung der Operationen. == Information Hiding 1 Sinn: Verhindern illegaler Zugriffe auf die Datenstruktur;
MehrKinder-Kategorie. Wir haben den Kuchen halbiert und dann umgedreht, damit er aussieht wie ein Schmetterling. Schmetterlingstorte:
Schmetterlingstorte: Zutaten: 2 Eier 100 g Zucker 100 g Mehl 2 Pck. Vanillezucker ½ TL Backpulver 500 g Quark 125 g Zucker 375 ml Sahne 1 Dose Mandarinen 1 Pck. weiße Gelatine 3 EL Rum Fett und Semmelbrösel
MehrProgrammieren für Fortgeschrittene
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme Wintersemester 2011/12 Programmieren für Fortgeschrittene Rekursive Spezifikationen Die folgende
MehrProgrammieren 1 C Überblick
Programmieren 1 C Überblick 1. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
MehrInstitut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August
MehrVorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
MehrAlgorithmen und Datenstrukturen Sommersemester 2007
Algorithmen und Datenstrukturen Sommersemester 2007 Steffen Reith reith@informatik.fh-wiesbaden.de Fachhochschule Wiesbaden 4. April 2007 Steffen Reith Algorithmen und Datenstrukturen 4. April 2007 1 /
MehrInformatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 30. Ausblick Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13.02.2016 1 13.02.2016 B. Nebel Info I 3 / 17 Programmieren jedenfalls ein bisschen Python-Programme
MehrEinführung in die Informatik Algorithms
Einführung in die Informatik Algorithms Vom Problem zum Algorithmus und zum Programm Wolfram Burgard Cyrill Stachniss 1.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren
Mehr124 Kompetenzorientierte Aufgaben im Informatikunterricht
124 Kompetenzorientierte Aufgaben im Informatikunterricht 4.2 Aufgaben 4.2.1 Aufgabe 1: Kühlschrank 4.2.1.1 Aufgabenstellung Ein einfacher Kühlschrank besitzt einen Ein-Aus-Schalter, der jederzeit betätigt
Mehr1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te
1 Einführung: Algorithmen Algorithmen und Datenstrukturen WS 2012/13 Pro f. Dr. Sán do r Fe k e te Literatur 1.1 Was ist ein Algorithmus? Ein Algorithmus ist eine aus endlich vielen Schritten bestehende
MehrKapitel 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