Einleitung 19 Über dieses Buch 19 Konventionen in diesem Buch 19 Was Sie nicht lesen müssen 20 Törichte Annahmen über den Leser 20 Wie dieses Buch aufgebaut ist 21 Teil I: Programmieren 21 Teil II: Algorithmen 21 Teil III: Mathematik 21 Teil IV: Codierung 22 Teil V: Praktische Informatik 22 Teil VI: Theoretische Informatik 22 Teil VII: Top-Ten-Teil 23 Symbole, die in diesem Buch verwendet werden 23 Wie es weitergeht 24 Bitte und Danke sagen 24 Teil I: Programmieren 25 Kapitel 1 Programmieren in Java 27 Wertzuweisung 27 Variablen deklarieren 28 Wozu Datentypen? 28 Einen Wert zuweisen 29 Einen Wert überschreiben 30 Numerische Datentypen und Operationen 31 Typumwandlung bei numerischen Datentypen 32 Bedingte Anweisung 33 If-Anweisung 33 If-Else-Anweisung 34 Flussdiagramme zeichnen 35 Datentyp boolean 36 Boolesche Operationen 38 Kommentare 39 Zum Üben 39 Kapitel 2 Programmschleifen, Datenfolgen und Zeichenketten 41 While-Schleife 41 Fakultäten berechnen 43 Programmschleifen entwerfen 44 Iterationsschema aufstellen 44 Iterationsgleichungen ableiten 44 Regeln für das Aufstellen der Iterationsgleichungen 45 Iterationsgleichungen in eine While-Schleife umsetzen 45 For-Schleife 46 Arrays 47 Array erzeugen 47 Array durchlaufen 48 Strings 49 Strings verketten 50 String-Methoden anwenden 50 Zum Üben 52 Iterationsschema aufstellen und in While-Schleife umsetzen 52 Primzahlen mit dem Sieb des Eratosthenes 52 Kapitel 3 Funktionen 55 Funktionen definieren und aufrufen 55 Funktionsdefinition 56 Funktionsaufruf 57 So funktioniert ein Stack 58 Lokale Variablen benutzen 59 Funktionen mit mehreren Parametern 60 Funktionen ohne Parameter 61 Funktionen ohne Rückgabewert 61 Rekursive Funktionen 63 Ausführung einer rekursiven Funktion 63 Zum Üben 66 Ziehung der Lottozahlen 66 Kapitel 4 Objektorientiert programmieren 69 Klasse und Objekt 69 Attribute und Methoden 69 Kommentare und Benennungen 70 Bruchrechnung 70 Methoden 71 Rechenoperationen mit Brüchen 73 Bruch normalisieren 74 Bruch kürzen 75 Objektorientierung in Java 76 Zum Üben 76 Teil II: Algorithmen 77 Kapitel 5 Algorithmus 79 Typische Anweisungsformen 79 Algorithmisch denken 80 Kapitel 6 Binäre Suche 81 Suchstrategie 81 Logarithmus 82 Algorithmus binäre Suche 83 Zum Üben 84 Kapitel 7 Einfaches Sortieren 85 Minimum einer Datenfolge bestimmen 85 Selectionsort 86 Array sortieren 87 Programm 87 Zeitkomplexität 88 Analyse von Selectionsort 89 Kapitel 8 Zeitkomplexität von Algorithmen 91 Zeitkomplexität 92 Untere und obere Schranken 92 Schlechtester Fall 93 Asymptotische Analyse 93 O-Notation 94 Zum Üben 95 Kapitel 9 Mergesort 97 Divide-and-Conquer-Strategie 97 Ablauf von Mergesort 98 Verschmelze... |