Suchen und Finden
Service
Infos und Kontakt
Liebe Leserin, lieber Leser,
3
Auf einen Blick
4
Inhalt
6
Vorwort
18
Danksagung
19
Vorwort zur zweiten Auflage
20
Vorwort zur vierten Auflage
21
1 Einige Grundbegriffe
22
1.1 Algorithmus
24
1.2 Datenstruktur
28
1.3 Programm
30
1.4 Aufgaben
33
2 Einführung in die Programmierung
36
2.1 Die Programmierumgebung
41
3 Ausgewählte Sprachelemente von C
44
3.1 Programmrahmen
44
3.2 Zahlen
45
3.3 Variablen
45
3.4 Operationen
47
3.5 Kommentare
50
3.6 Elementare Ein-/Ausgabe
51
3.7 Kontrollfluss
53
3.8 Beispiele
62
3.9 Aufgaben
70
4 Arithmetik
74
4.1 Folgen
74
4.2 Summen
81
4.3 Produkte
88
4.4 Aufgaben
90
5 Aussagenlogik
98
5.1 Aussagen
98
5.2 Logische Operatoren
99
5.3 Darstellung boolescher Funktionen
107
5.4 Vereinfachung boolescher Ausdrücke
112
5.5 Logische Operatoren in C
120
5.6 Programmierbeispiele
121
5.7 Aufgaben
125
6 Elementare Datentypen und ihre Darstellung
130
6.1 Zahlendarstellungen
130
6.2 Bits und Bytes
137
6.3 Skalare Datentypen in C
141
6.4 Bit-Operationen
148
6.5 Programmierbeispiele mit Zeichen, Zahlen und Bit- Operationen
151
6.6 Arrays und Zeichenketten
157
6.7 Programmierbeispiele mit Arrays und Strings
168
6.8 Aufgaben
174
7 Modularisierung
182
7.1 Funktionen und Unterprogramme
182
7.2 Rekursion
189
7.3 Der Stack
197
7.4 Globale, lokale und statische Variablen
200
7.5 Die C-Runtime-Library
202
7.6 Beispiele
227
7.7 Aufgaben
241
8 Zeiger und Adressen
254
8.1 Zeigerarithmetik
258
8.2 Arrays und Zeiger
260
8.3 Funktionszeiger
263
8.4 Komplexe Variablendeklarationen
267
8.5 Aufgaben
269
9 C-Referenz ( Teil 1)
272
9.1 Reservierte Wörter
272
9.2 Identifier
272
9.3 Numerische Werte
273
9.4 Werte für Zeichen und Zeichenketten
274
9.5 Skalare Datentypen
275
9.6 Variablen
275
9.7 Arrays
280
9.8 Operatoren
280
9.9 Funktionen
294
9.10 Kontrollstrukturen
296
9.11 Der Preprozessor
303
9.12 Der Aufbau von Programmdateien
309
9.13 Einige Coding-Standards
312
10 Kombinatorik
316
10.1 Kombinatorische Grundaufgaben
317
10.2 Kombinatorische Algorithmen
325
10.3 Beispiele
336
10.4 Aufgaben
346
11 Leistungsanalyse und -messung von Algorithmen
350
11.1 Leistungsanalyse
353
11.2 Leistungsmessung
365
11.3 Mathematische Grundfunktionen
370
11.4 Laufzeitklassen
376
11.5 Beispiele
383
12 Sortierverfahren
396
12.1 Bubblesort
397
12.2 Selectionsort
399
12.3 Insertionsort
402
12.4 Shellsort
404
12.5 Quicksort
408
12.6 Heapsort
413
12.7 Leistungsanalyse
419
12.8 Vergleich und Bewertung
429
12.9 Grenzen der Optimierung von Sortierverfahren
435
12.10 Aufgaben
440
13 Datenstrukturen
442
13.1 Datensequenz (struct)
445
13.2 Datenalternative (union)
452
13.3 Optimierung von Datenstrukturen
458
13.4 Zeiger und Datenstrukturen
463
13.5 Dynamische Datenstrukturen
466
13.6 Verkettete Datenstrukturen (Listen)
471
13.7 Die Freispeicherverwaltung
475
13.8 Abstrakte Datentypen
479
13.9 Aufgaben
491
14 C-Referenz ( Teil 2)
498
14.1 Einfache Strukturen
498
14.2 Zusammengesetzte Strukturen
501
14.3 Zugriff auf Strukturen
503
14.4 Unions
506
14.5 Datenstrukturen und Funktionen
507
14.6 Dynamische Datenstrukturen
510
14.7 Zeiger in Datenstrukturen
512
14.8 Typvereinbarungen
516
14.9 Bitfelder
517
15 Ausgewählte Datenstrukturen
520
15.1 Aufgabenstellung
520
15.2 Schnittstellenvereinbarung
522
15.3 Anwendungsprogramm
525
15.4 Listen
531
15.5 Bäume
544
15.6 Ausgeglichene Bäume
571
15.7 Hashtabellen
594
15.8 Vergleich und Bewertung
607
15.9 Aufgaben
613
16 Elemente der Graphentheorie
614
16.1 Grundbegriffe
616
16.2 Darstellung von Graphen durch Datenstrukturen
622
16.3 Ausgewählte graphentheoretische Probleme
628
2210 km
695
17 Projekt 2D-Grafikprogrammierung
702
18 C++-Referenz ( Teil 1)
704
18.1 Schlüsselwörter
704
18.2 Operatoren
705
18.3 Kommentare
708
18.4 Datentypen, Datenstrukturen und Variablen
709
18.5 Funktionen und Operatoren
723
18.6 Namensräume
733
19 Objektorientierte Programmierung
744
20 Klassen in C++
760
20.1 Aufbau von Klassen
760
20.2 Instantiierung von Klassen
778
20.3 Friends
786
20.4 Operatoren auf Klassen
789
20.5 Ein- und Ausgabe in C++
793
20.6 Der this-Pointer
800
20.7 Beispiele
801
20.8 Aufgaben
819
21 Vererbung in C++
824
21.1 Geschützte Member
830
21.2 Einfache Vererbung
833
21.3 Mehrfache Vererbung
834
21.4 Instantiierung abgeleiteter Klassen
834
21.5 Erweiterung abgeleiteter Klassen
836
21.6 Überladen von Funktionen der Basisklasse
837
21.7 Virtuelle Member-Funktionen
842
21.8 Rein virtuelle Member-Funktionen
845
21.9 Statische Member
846
21.10 Beispiele
851
22 C++-Referenz ( Teil 2)
894
22.1 Klassen und Instanzen
894
22.2 Member
895
22.3 Zugriff auf Member
904
22.4 Vererbung
914
22.5 Zugriffsschutz und Vererbung
936
22.6 Der Lebenszyklus von Objekten
943
22.7 Pointer to Member
967
22.8 Generische Klassen (Templates)
971
22.9 Ausnahmefallbehandlung
977
23 Die C++- Standard-Library
984
23.1 Iteratoren
985
23.2 Strings (string)
988
23.3 Bitsets (bitset)
1003
23.4 Dynamische Arrays (vector)
1006
23.5 Beidseitige Warteschlangen (deque)
1013
23.6 Listen (list)
1015
23.7 Stacks (stack)
1028
23.8 Warteschlangen (queue)
1031
23.9 Prioritätswarteschlangen (priority_queue)
1033
23.10 Geordnete Paare (pair)
1039
23.11 Mengen (set und multiset)
1041
23.12 Relationen (map und multimap)
1046
23.13 Algorithmen der Standard-Library
1050
23.14 Vererbung und virtuelle Funktionen in Containern
1074
24 Projekt: 3D-Grafikprogrammierung
1078
Anhang
1080
Vorwort
1082
Danksagung
1082
Lösungen
1084
Index
1334
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion





















