Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Algorithmen in Python

Fachbuch-Bestseller
Das ideale Buch zum Programmieren trainieren. 32 Klassiker der Informatik, vom Damenproblem bis KI

(Autor)

Buch | Softcover
292 Seiten
2020 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-7747-1 (ISBN)

Lese- und Medienproben

Algorithmen in Python - David Kopec
CHF 41,85 inkl. MwSt
  • Programmieren trainieren mit bekannten und modernen Klassikern
  • Von der Suche bis zu k-Means, vom Dreizeiler bis zur dynamischen Programmierung und KI
  • Für Studium, Coding-Katas, Workouts oder in Eigeninitiative

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.

Große, zeitgemäße Auswahl von Algorithmen
Von kleineren Algorithmen wie zur Verschlüsselung bis hin zum Aufbau eines einfachen neuronalen Netzes lernen Sie eine Fülle von problemlösenden Techniken kennen. Perfekt zugeschnitten auf die Anforderungen an die moderne Programmierung.

Programmiertraining
An zahlreichen Beispielen lernen Sie, Algorithmen in konkrete Anwendungen zu implementieren. Mit den Übungen am Ende jedes Kapitels können Sie Ihre Fähigkeiten weiter trainieren.

Bekannte und neue Klassiker
Unter den zu lösenden Aufgaben begegnen Ihnen viele Informatik-Klassiker wie das Damenproblem, das Flussüberquerungsrätsel oder das Rucksackproblem. Aber auch neue Aufgaben wie ein generischer genetischer Algorithmus sind darunter. Für jeden ist etwas dabei.

Tipps für den Programmieralltag
Hinweise zu den Einsatzgebieten der verschiedenen Algorithmen, viele Praxis-Tipps zum Coden machen das Buch zu einer wertvollen Hilfe für den Programmieralltag.

Aus dem Inhalt:
Die Fibonacci-Folge, einfache Komprimierung, unknackbare Verschlüsselung, Pi berechnen
DNS durchsuchen, Wege durchs Labyrinth, Flussüberquerungsrätsel
Damenproblem, Vier-Farben-Satz, Wortsuchrätsel
grafische Algorithmen
genetische Algorithmen
k-Means-Algorithmen
einfache neuronale Netze
Tic-tac-toe, Vier gewinnt
Das Rucksackproblem, Das Problem des Handlungsreisenden
und außerdem: zahlreiche Code-Beispiele in Python, Hinweise zum Einsatz der Algorithmen, Übungen und Tipps für die Programmier-Praxis

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

»Der Leser erhält wertvolle Hinweise und weiterführende Tipps. Zahlreiche Abbildungen und gut strukturierter und nicht überladener Quellcode schaffen einen schnellen Lerneffekt. [...] Das hervorragende Arbeitsbuch richtet sich an fortgeschrittene Entwickler.« iX - Magazin für professionelle Informationstechnik 202011

»Ein Buch, das den laufenden Unterricht ergänzen kann. Ein Buch, das eine erste Kontaktaufnahme mit Python ermöglicht; einer Programmiersprache, die dank ihrer Syntax und Lesbarkeit leicht zu erlernen ist und sich sehr vielseitig einsetzen lässt. Besonders zu empfehlen für fächerübergreifende Ansätze, indem man z. B. den Begriff des Algorithmus innermathematisch einführt und anschließend im MINT-Spektrum nach weiteren Anwendungsmöglichkeiten sucht.«

»Ein anspruchsvolles, sehr interessantes Buch für den erfahrenen Python-Programmierer.«

»Gute Abwechslung zu vielen anderen Büchern. [...] Oft kriegt man nur gezeigt, wie man einen Algorithmus aufbaut und wie dieser funktioniert, man kann es allerdings nicht selber testen. Umso schöner ist es, dass sich der Autor hier die Mühe nahm und die Algorithmen in Python vorstellt.«

»Der Leser erhält wertvolle Hinweise und weiterführende Tipps. Zahlreiche Abbildungen und gut strukturierter und nicht überladener Quellcode schaffen einen schnellen Lerneffekt. [...] Das hervorragende Arbeitsbuch richtet sich an fortgeschrittene Entwickler.«

»Ideal für alle, die den Einstieg in die Programmierung hinter sich haben und das nächste Level erreichen wollen.«

Erscheinungsdatum
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 172 x 230 mm
Einbandart kartoniert
Themenwelt Informatik Programmiersprachen / -werkzeuge Python
Informatik Software Entwicklung Objektorientierung
Informatik Theorie / Studium Algorithmen
Schlagworte Buch Bücher Wissen lernen Kurse Seminare Tutorials • Buch Bücher Wissen lernen Kurse Seminare Tutorials • Buch Bücher Wissen lernen Kurse Seminare Tutorials Workshops • Datenstrukturen • Flußüberqueren • Flußüberqueren • genetische • grafische • Handlungsreisende • K-means • Künstliche Intelligenz • Künstliche Intelligenz • Minimax • Neuronale Netze • Pi berechnen • Probleme Rätsel Aufgaben • Probleme Rätsel Aufgaben • Programmier-Training • Such-Algorithmen
ISBN-10 3-8362-7747-6 / 3836277476
ISBN-13 978-3-8362-7747-1 / 9783836277471
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich