Perlen der Programmierkunst
Programming Pearls
Seiten
2000
Addison Wesley Imprint in der Pearson Education Deutschland (Hersteller)
978-3-8273-1719-3 (ISBN)
Addison Wesley Imprint in der Pearson Education Deutschland (Hersteller)
978-3-8273-1719-3 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Jon Bentley zeigt in seinem Buch
anhand komplexer Beispiele Wege
auf, wie man seine Programme
eleganter gestalten kann. Dabei
werden hilfreiche Tipps für eine
genaue Problemanalyse ebenso
vermittelt wie praktische
Programmiertechniken und
fundamentale Designprinzipien. Diese
lassen sich für alle höheren
Programmiersprachen sinnvoll
einsetzen.
anhand komplexer Beispiele Wege
auf, wie man seine Programme
eleganter gestalten kann. Dabei
werden hilfreiche Tipps für eine
genaue Problemanalyse ebenso
vermittelt wie praktische
Programmiertechniken und
fundamentale Designprinzipien. Diese
lassen sich für alle höheren
Programmiersprachen sinnvoll
einsetzen.
Schwerpunkte sind unter
anderem Programm Performance,
Effizienz und Anwendung (Sortierung,
Strings etc.).
Inhaltsverzeichnis
Vorwort ix
Vorwort der Übersetzerin xiii
Teil I: Vorbemerkungen 1
Kolumne 1: Die Auster wird geknackt 3
1.1 Ein freundliches Gespräch 3
1.2 Präzise Problembeschreibung 4
1.3 Programmentwurf 5
1.4 Implementierungsskizze 6
1.5 Prinzipien 7
1.6 Aufgaben 9
1.7 Weiterführende Literatur 11
Kolumne 2: Algorithmen mit Aha-Effekt 13
2.1 Drei Probleme 13
2.2 Die allgegenwärtige Binärsuche 14
2.3 Die Macht der Primitive 16
2.4 Die Teile zusammenfügen: Sortierung 18
2.5 Prinzipien 19
2.6 Aufgaben 20
2.7 Weiterführende Literatur 22
2.8 Implementierung eines Anagramm-Programms 22
Kolumne 3: Programme für Datenstrukturen 25
3.1 Ein Programm für eine Umfrage 25
3.2 Programmierung von Formbriefen 28
3.3 Ein Array von Beispielen 30
3.4 Daten strukturieren 32
3.5 Mächtige Werkzeuge für spezialisierte Daten 32
3.6 Prinzipien 34
3.7 Aufgaben 35
3.8 Weiterführende Literatur 37
Kolumne 4: Programme korrekt erstellen 39
4.1 Die Herausforderung der Binärsuche 39
4.2 Das Programm 40
4.3 Das Programm verstehen 43
4.4 Prinzipien 45
4.5 Die Aufgaben der Programmprüfung 47
4.6 Aufgaben 48
4.7 Weiterführende Literatur 51
Kolumne 5: Eine kleine Programmieraufgabe 53
5.1 Von Pseudocode zu C 53
5.2 Eine Rüstung für den Testfall 55
5.3 Die Kunst der richtigen Einschätzung 57
5.4 Automatisierte Tests 59
5.5 Timing 60
5.6 Das vollständige Programm 62
5.7 Prinzipien 62
5.8 Aufgaben 63
5.9 Weiterführende Literatur 65
5.10 Fehlerbehebung 65
Teil II: Leistung 67
Kolumne 6: Die Leistungsperspektive 69
6.1 Eine Fallstudie 69
6.2 Entwurfsebenen 72
6.3 Prinzipien 73
6.4 Aufgaben 74
6.5 Weiterführende Literatur 75
Kolumne 7: Überschlagsrechnungen 77
7.1 Grundkenntnisse 78
7.2 Leistungsschätzungen 81
7.3 Sicherheitsmargen 83
7.4 Littles Gesetz 85
7.5 Prinzipien 86
7.6 Aufgaben 86
7.7 Weiterführende Literatur 87
7.8 Überschlagsrechnungen im Alltag 88
Kolumne 8: Entwurfstechniken für Algorithmen 91
8.1 Das Problem und ein einfacher Algorithmus 91
8.2 Zwei quadratische Algorithmen 93
8.3 Ein Teile-und-herrsche-Algorithmus 94
8.4 Ein Scan-Algorithmus 95
8.5 Was macht das aus? 96
8.6 Prinzipien 98
8.7 Aufgaben 100
8.8 Weiterführende Literatur 101
Kolumne 9: Code-Tuning 103
9.1 Eine typische Geschichte 103
9.2 Erste Hilfe 105
9.3 Chirurgie für Programme Binärsuche 109
9.4 Prinzipien 113
9.5 Aufgaben 115
9.6 Weiterführende Literatur 117
Kolumne 10: Platz sparen 119
10.1 Der Schlüssel: Einfachheit 119
10.2 Ein Problem der Darstellung 120
10.3 Techniken zur Unterbringung von Daten 124
10.4 Techniken zur Unterbringung von Code 128
10.5 Prinzipien 130
10.6 Aufgaben 131
10.7 Weiterführende Literatur 133
10.8 Schön gequetscht 133
Teil III: Das Produkt 135
Kolumne 11: Sortieren 137
11.1 Sortieren durch Einfügen 137
11.2 Ein einfaches Quicksort-Programm 139
11.3 Bessere Quicksorts 142
11.4 Prinzipien 145
11.5 Aufgaben 146
11.6 Weiterführende Literatur 148
Kolumne 12: Ein Beispielproblem 149
12.1 Das Problem 149
12.2 Eine Lösung 150
12.3 Der Entwurfsraum 152
12.4 Prinzipien 154
12.5 Aufgaben 156
12.6 Weiterführende Literatur 158
Kolumne 13: Suchen 159
13.1 Die Schnittstelle 159
13.2 Lineare Strukturen 161
13.3 Binäre Suchbäume 165
13.4 Strukturen für ganze Zahlen 167
13.5 Prinzipien 169
13.6 Aufgaben 170
13.7 Weiterführende Literatur 171
13.8 Ein Suchproblem aus der Praxis 172
Kolumne 14: Heaps 177
14.1 Die Datenstruktur 177
14.2 Zwei wichtige Funktionen 179
14.3 Prioritätsschlangen 183
14.4 Ein Sortieralgorithmus 186
14.5 Prinzipien 188
14.6 Aufgaben 189
14.7 Weiterführende Literatur 191
Kolumne 15: Perlenketten 193
15.1 Wörter 193
15.2 Phrasen 197
15.3 Text generieren 200
15.4 Prinzipien 205
15.5 Aufgaben 206
15.6 Weiterführende Literatur 207
Nachwort zur ersten Auflage 209
Nachwort zur zweiten Auflage 213
Anhang 1: Ein Algorithmenkatalog 217
Anhang 2: Ein Einschätzungsquiz 223
Anhang 3: Aufwandsmodelle für Laufzeit und
Speicherplatz 225
Anhang 4: Regeln für das Code-Tuning 231
Anhang 5: C++-Klassen für das Suchen 237
Tipps zu ausgewählten Aufgaben 241
Lösungen ausgewählter Aufgaben 247
Index 279
| Reihe/Serie | Professionelle Programmierung |
|---|---|
| Sprache | deutsch |
| Maße | 240 x 168 mm |
| Gewicht | 848 g |
| Einbandart | gebunden |
| Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
| Mathematik / Informatik ► Informatik ► Software Entwicklung | |
| Schlagworte | Programmierung |
| ISBN-10 | 3-8273-1719-3 / 3827317193 |
| ISBN-13 | 978-3-8273-1719-3 / 9783827317193 |
| Zustand | Neuware |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |