Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Perlen der Programmierkunst - Jon Bentley

Perlen der Programmierkunst

Programming Pearls

Jon Bentley (Autor)

290 Seiten
2000
Addison Wesley Imprint in der Pearson Education Deutschland (Hersteller)
978-3-8273-1719-3 (ISBN)
CHF 55,90 inkl. MwSt
  • 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.


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?