Algorithmen gehören zum Rüstzeug guter Entwickler. In diesem Buch lernen Sie eine große Menge problemlösender Techniken kennen und erfahren, wie Sie diese in Anwendungen implementieren. Die Spannbreite reicht von einfachen Algorithmen zur Verschlüsselung und für die Suche bis hin zu genetischen Algorithmen, k-Means-Algorithmen und neuronalen Netzen. Unter den zu lösenden Aufgaben finden Sie sowohl Informatik-Klassiker wie das Damenproblem und das Flussüberquerungsrätsel als auch neue Aufgaben. Selbst wenn Ihnen einiges bekannt vorkommen wird, werden Sie am Ende sagen: "Ach so macht man das!" Dass Python hier die Sprache der Wahl ist, schließt niemanden aus. Von diesem Programmiertraining profitieren Sie auch dann, wenn Sie sonst eher in Java, C++ oder einer anderen Sprache programmieren. Die gekonnte Auswahl der Beispiele und der flotte Schreibstil sorgen dafür, dass das Ganze nicht nur lehrreich, sondern auch unterhaltsam ist.
Aus dem Inhalt:
kein Adobe
Account notwendig |
Schriftgröße ist
veränderbar/einstellbar
Sie erhalten nach dem Kauf das Buch als ePub, die Sie in jedem E-Book-Reader bzw. in jeder Reader-Software (z.B. dem kostenlosen Calibre) anzeigen können. Bei ePubs kann die Schriftart und Anzeige z.B. an Ihren Reader angepasst werden. Wir empfehlen dieses Format, da es ohne DRM (digitales Rechte-Management) auskommt.
Die hier angegebene Schätzung beruht auf dem durchschnittlichen Fördervolumen der letzten Monate und Jahre. Über die Vergabe und den Umfang der finanziellen Unterstützung entscheidet das Gremium von buch7.de.
Die genaue Höhe hängt von der aktuellen Geschäftsentwicklung ab. Natürlich wollen wir so viele Projekte wie möglich unterstützen.
Den tatsächlichen Umfang der Förderungen sowie die Empfänger sehen Sie auf unserer Startseite rechts oben, mehr Details finden Sie hier.
Weitere Informationen zu unserer Kostenstruktur finden Sie hier.
David Kopec ist Hochschuldozent für Informatik und Innovation am Champlain College in Burlington, Vermont. Er ist der Autor von "Dart for Absolute Beginners" (Apress, 2014) und "Classic Computer Science Problems in Swift" (Manning, 2018).
Vorwort ... 13
Einleitung ... 17
1. Kleine Aufgaben ... 25
1.1 ... Die Fibonacci-Folge ... 25
1.2 ... Triviale Komprimierung ... 32
1.3 ... Unknackbare Verschlüsselung ... 38
1.4 ... Pi berechnen ... 41
1.5 ... Die Türme von Hanoi ... 43
1.6 ... Anwendungen im Alltag ... 47
1.7 ... Übungsaufgaben ... 48
2. Suchaufgaben ... 49
2.1 ... DNA-Suche ... 49
2.2 ... Labyrinthe lösen ... 57
2.3 ... Missionare und Kannibalen ... 77
2.4 ... Anwendungen im Alltag ... 82
2.5 ... Übungsaufgaben ... 83
3. Bedingungserfüllungsprobleme ... 85
3.1 ... Ein Framework für Bedingungserfüllungsprobleme schreiben ... 86
3.2 ... Die Landkarte Australiens einfärben ... 91
3.3 ... Das Acht-Damen-Problem ... 94
3.4 ... Wortsuche ... 97
3.5 ... SEND+MORE=MONEY ... 101
3.6 ... Leiterplatten-Layout ... 103
3.7 ... Anwendungen im Alltag ... 104
3.8 ... Übungsaufgaben ... 105
4. Graphenprobleme ... 107
4.1 ... Eine Landkarte als Graph ... 107
4.2 ... Ein Framework für Graphen schreiben ... 110
4.3 ... Den kürzesten Pfad finden ... 116
4.4 ... Die Kosten für den Aufbau des Netzwerks minimieren ... 119
4.5 ... Den kürzesten Pfad in einem gewichteten Graphen finden ... 132
4.6 ... Anwendungen im Alltag ... 138
4.7 ... Übungsaufgaben ... 139
5. Genetische Algorithmen ... 141
5.1 ... Biologischer Hintergrund ... 141
5.2 ... Ein generischer genetischer Algorithmus ... 143
5.3 ... Ein naiver Test ... 151
5.4 ... Wiedersehen mit SEND+MORE=MONEY ... 154
5.5 ... Listenkomprimierung optimieren ... 158
5.6 ... Kritik an genetischen Algorithmen ... 160
5.7 ... Anwendungen im Alltag ... 162
5.8 ... Übungsaufgaben ... 163
6. k-Means-Clustering ... 165
6.1 ... Vorbereitungen ... 165
6.2 ... Der k-Means-Clustering-Algorithmus ... 168
6.3 ... Gouverneure nach Alter und Längengrad clustern ... 174
6.4 ... Michael-Jackson-Alben nach Länge clustern ... 179
6.5 ... K-Means-Clustering-Probleme und -Erweiterungen ... 181
6.6 ... Anwendungen im Alltag ... 182
6.7 ... Übungsaufgaben ... 183
7. Einfache neuronale Netzwerke ... 185
7.1 ... Biologische Grundlagen? ... 186
7.2 ... Künstliche neuronale Netzwerke ... 187
7.3 ... Vorbereitungen ... 195
7.4 ... Das Netzwerk aufbauen ... 197
7.5 ... Klassifikationsprobleme ... 204
7.6 ... Neuronale Netzwerke beschleunigen ... 213
7.7 ... Probleme und Erweiterungen neuronaler Netzwerke ... 214
7.8 ... Anwendungen im Alltag ... 215
7.9 ... Übungsaufgaben ... 217
8. Adversarial Search ... 219
8.1 ... Grundkomponenten von Brettspielen ... 219
8.2 ... Tic Tac Toe ... 221
8.3 ... Vier gewinnt ... 231
8.4 ... Minimax-Verbesserungen über die Alpha-Beta-Suche hinaus ... 240
8.5 ... Anwendungen im Alltag ... 242
8.6 ... Übungsaufgaben ... 243
9. Sonstige Aufgaben ... 245
9.1 ... Das Rucksackproblem ... 245
9.2 ... Das Problem des Handlungsreisenden ... 251
9.3 ... Merkhilfen für Telefonnummern ... 257
9.4 ... Anwendungen im Alltag ... 260
9.5 ... Übungsaufgaben ... 261
Anhang ... 263
A ... Glossar ... 265
B ... Weitere Ressourcen ... 271
C ... Eine kurze Einführung in Type-Hints ... 277
Index ... 285
EAN / 13-stellige ISBN | 978-3836277495 |
10-stellige ISBN | 3836277492 |
Verlag | Rheinwerk Verlag GmbH |
Sprache | Deutsch |
Auflage | 1. Auflage im Jahr 2020 |
Anmerkungen zur Auflage | 1. Auflage |
Editionsform | Non Books / PBS |
Einbandart | E-Book |
Typ des digitalen Artikels | ePub |
Copyright | Kein Kopierschutz |
Erscheinungsdatum | 28. Juni 2020 |
Seitenzahl | 292 |
Warengruppe des Lieferanten | Naturwissenschaften - Informatik, EDV |
Mehrwertsteuer | 7% (im angegebenen Preis enthalten) |
Naturwissenschaften - Informatik, EDV
Auch hier werden natürlich 75% des Gewinns gespendet.
Gutschein kaufen
Nie wieder bei den Ausbeutern von A... bestellen! Yeah! Ihr seid die Besten :-)
Marcella von der W. aus Berlin
Ich möchte einfach mal wieder meine Hochachtung für Eure Arbeit aussprechen. Gestern Buch bestellt, heute bei mir, super verpackt, - einfach unglaublich wie zuverlässig und schnell Ihr seid, und das noch obendrauf auf Eure Mission, die ohnehin so bewundernswert ist... Ich bin weniger als ein Jahr vom Achtzigsten entfernt und deshalb besonders gerührt über Eure "altmodischen" und zwischenmenschlichen Tugenden.
Christa L. aus München
Ich bin mit dem von Ihnen immer wieder erbrachten Service mehr als zufrieden und empfehle Sie mit bestem Gewissen bei jeder Gelegenheit weiter. Neben dem kontinuierlich erbrachten "Sterne-Service" schätze ich besonders die nette und freundliche Art des Kontakts.
C. A.
Liebes Buch7 Team, schön dass es Euch gibt. Jetzt macht Bücherbestellen wieder Spaß!
Stefan A.
Ihr seid super! Ich freu mich, dass Ihr beweist, dass es auch anders geht und wünsche Euch ganz viel Erfolg!
Petra P.